StackExchange Redis .NET库中的TimeoutException异常

时间:2016-06-06 14:53:37

标签: c# stackexchange.redis

我们正在使用stackexchange.redis.dll,但最近我在日志中看到了许多以下异常。知道出了什么问题吗?

  

TimeoutException异常:超时执行EXISTS key1234,inst:   1,mgr:不活动,错误:从不,队列:10,qu:0,qs:10,qc:0,wr:0,   wq:0,in:2304,ar:0,IOCP :( Busy = 4,Free = 996,Min = 4,Max = 1000),   工作人员:(忙碌= 15,自由= 4080,最小值= 4,最大值= 4095),clientName:testclient

的信息:

由于某些要求,我通过说connectioncontext.Server("host").Keys()来获取Redis缓存中的所有现有密钥,并且在我看到的Redis文档中,频繁获取密钥会导致缓存性能下降。但我每天只拿4次钥匙(我的意思是申请)。这会导致任何问题吗?

请告诉我。

1 个答案:

答案 0 :(得分:0)

  

超时执行SET {Key},inst:0,mgr:无效,队列:2,qu = 1,   qs = 1,qc = 0,wr = 1/1,in = 0/0表示已经发送了一个请求(qs),那里   是另一个请求,它在未发送的队列(qu)中,而没有任何东西   从网络上读取。有一个活跃的作家意味着一个   不同意不被忽视。基本上,有一个请求发送和   等待回复回来。

我修复了它,执行以下操作:我将连接超时设置为30秒,

ConnectTimeout = 30000, // 30 seconds
SyncTimeout = 20000, // 20 seconds 
ConnectRetry = 3