Redis超时优化。需要建议。

3
我遇到了这个异常- Redis超时。 在从池中获取连接之前,超时时间已过。这可能是因为所有池化的连接都在使用中。 我已将 ServiceStack.Redis.PoolSizeMultiplier 设置为 100,ServiceStack.Redis.PoolTimeOutSeconds 设置为 50。 但仍然出现错误。您建议增加还是减少此超时值? 我需要一些关于 Redis.TimeOutValue 的解释。增加这些值的优点是什么?
1个回答

3

这个错误信息表示所有的Redis连接都在使用中,客户端等待一个可用的连接池的空闲连接超时了。

如果你的Redis客户端连接在使用后没有正确释放,也会发生这种情况。请确保在使用完所有Redis客户端实例后进行释放,例如使用using {}语句:

using (var redis = redisManager.GetClient())
{
    //...
}

另一个避免此错误的解决方案是切换到使用RedisManagerPool,它将在池大小超过后创建一个新连接,但这可能掩盖了您的Redis客户端没有被正确处理的问题。请参考RedisManagerPool

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接