C# 执行超时存在[keyname],指令:2,管理器:ExecuteSelect,队列:0,qu=0,qs=0,qc=0,wr=0/0,in=0/0

C# 执行超时存在[keyname],指令:2,管理器:ExecuteSelect,队列:0,qu=0,qs=0,qc=0,wr=0/0,in=0/0,c#,multithreading,exists,stackexchange.redis,timeoutexception,C#,Multithreading,Exists,Stackexchange.redis,Timeoutexception,我正在C Windows应用程序中使用StackExchange.Redis 1.0.0.0版。这个应用程序是多线程的,我们在Redis缓存中保存了一些值。 当我需要一个键的值时,首先我通过EXISTS命令检查该键是否存在 有时会发生异常: 执行超时存在速度限制\u GF\u VU\u 3,指令:2,经理: ExecuteSelect,队列:0,qu=0,qs=0,qc=0,wr=0/0,in=0/0, IOCP:忙=0,空闲=1000,最小=8,最大=1000, 工作者:忙=1,空闲=1022

我正在C Windows应用程序中使用StackExchange.Redis 1.0.0.0版。这个应用程序是多线程的,我们在Redis缓存中保存了一些值。 当我需要一个键的值时,首先我通过EXISTS命令检查该键是否存在

有时会发生异常:

执行超时存在速度限制\u GF\u VU\u 3,指令:2,经理: 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.KeyExistsRedisKey键上,输入CommandFlags标志 . . .


缓存服务器和应用服务器是相同的。原因是什么?我如何解决这个问题?

该错误消息告诉我客户端当时没有做任何有趣的事情,因此问题变成:服务器在做什么?slowlog里有什么东西和这次有关吗?服务器日志中有任何内容吗?特别是,我的第一个想法是:

此时服务器是在坚持aof重写还是rdb? 是否有长时间运行的操作阻止了服务器密钥*例如,您不应该使用的密钥 是否使用主/从建立复制? 有网络故障吗?
谢谢你,马克。让我再次检查它,并使用Slowlog get和其他命令监视Redis。我将在这里分享结果。嗨,贾维德,这方面有什么更新吗?我使用相同的参数值得到相同的异常:queue:0、qu:0、qs:0、qc:0、wr:0、wq:0、in:0、ar:0Hello。我们改变了服务器,并将其升级为一个更强大的硬件——不仅仅是因为redis,还有其他所有的服务。所以我们不会再出现这个错误了。我猜是关于资源的。不幸的是,我没有深入研究redis。