我在C#Windows应用程序中使用StackExchange.Redis版本1.0.0.0。此应用程序是多线程,我们在Redis缓存中保存一些值。
当我需要键的值时,首先我通过EXISTS
命令检查该键的存在。
有时会发生异常:
超时执行EXISTS SpeedLimit_GF__VU_3,inst:2,mgr: ExecuteSelect,队列:0,qu = 0,qs = 0,qc = 0,wr = 0/0,in = 0/0, IOCP:(忙碌= 0,免费= 1000,最小值= 8,最大值= 1000), 工人:(忙碌= 1,免费= 1022,最小值= 8,最大值= 1023) 在StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl [T](消息 消息,ResultProcessor1处理器,ServerEndPoint服务器) 在StackExchange.Redis.RedisBase.ExecuteSync [T](消息消息,ResultProcessor1处理器,ServerEndPoint服务器) 在StackExchange.Redis.RedisDatabase.KeyExists(RedisKey键,CommandFlags标志) 。 。
缓存服务器和应用服务器是相同的。可能是什么原因以及如何解决这个问题?
答案 0 :(得分:0)
该错误消息告诉我客户端当时没有做任何有趣的事情,所以问题就变成了:服务器做了什么? slowlog get
中有什么与此时相关的东西吗?服务器日志有什么问题吗?特别是,我的第一个想法是:
keys *
,您不应该使用它)