【发布时间】:2015-07-28 19:24:01
【问题描述】:
我在 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 标志) . . .
缓存服务器和应用服务器是一样的。可能是什么原因以及如何解决这个问题?
【问题讨论】:
标签: c# multithreading exists stackexchange.redis timeoutexception