我收到此异常-Redis超时已过期.从池中获取连接之前已经过超时时间.这可能是因为所有池连接都在使用中.
我已经将ServiceStack.Redis.PoolSizeMultiplier设置为100,并将ServiceStack.Redis.PoolTimeOutSeconds设置为50.
但是我仍然遇到错误.你有什么建议.要增加还是减少此超时值?我需要有关此Redis.TimeOutValue的一些解释.增加这些值的优点是什么?
解决方法:
此错误消息表示当前所有Redis连接都在使用中,并且客户端超时,等待来自池的空闲连接可用.
如果您的Redis客户端连接在使用后未得到正确处理,也会发生这种情况.确保使用后处置所有Redis Client实例,例如通过使用using {}语句:
using (var redis = redisManager.GetClient())
{
//...
}
避免此错误的另一种解决方案是切换到使用RedisManagerPool,它将在超出池大小之后在池外创建新连接,但是这可能伪装了Redis客户端未得到正确处置的问题.