小编Geo*_*mov的帖子

StackExchange.Redis超时和"没有连接可用于服务此操作"

我的生产环境中存在以下问题(Web-Farm - 4个节点,在它之上负载均衡器):

1)Timeout performing HGET key, inst: 3, queue: 29, qu=0, qs=29, qc=0, wr=0/0 at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor``1 processor, ServerEndPoint server) in ConnectionMultiplexer.cs:line 1699这种情况在一分钟内发生3-10次

2) No connection is available to service this operation: HGET key at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor``1 processor, ServerEndPoint server) in ConnectionMultiplexer.cs:line 1666

我尝试按照Marc的建议实现(也许我解释不正确) - 最好与Redis的连接数少于多个.我做了以下实现:

public class SeRedisConnection
{
    private static ConnectionMultiplexer _redis;

    private static readonly object SyncLock = new object();

    public static IDatabase GetDatabase()
    {
        if (_redis == null || !_redis.IsConnected || !_redis.GetDatabase().IsConnected(default(RedisKey))) …
Run Code Online (Sandbox Code Playgroud)

stackexchange.redis

41
推荐指数
1
解决办法
3万
查看次数

标签 统计

stackexchange.redis ×1