StackExchange RedisTimeoutException

时间:2017-06-14 09:24:08

标签: session redis stackexchange.redis

我最近将我的项目转移到了Redis会话。 Redis会话从登录到仪表板完美运行。在此期间,会话的读写工作完美无缺。但是当我进入任何内页时,我会收到超时错误,如下所示。

  

StackExchange.Redis.RedisTimeoutException:超时执行HGETALL   {Key},inst:1,queue:17,qu:0,qs:17,qc:0,wr:0,wq:0,in:0,ar:0

目前我的配置如下。

ConfigurationOptions.Parse("server,connectTimeout=15000,KeepAlive = 30,syncTimeout=15000")

请建议如何解决此超时错误?

1 个答案:

答案 0 :(得分:1)

我看到你得到的超时错误是在HGETALL操作上。 HGETALL是一个O(N)操作,其中N是Hash的大小。你是否可以尝试获取超时的Hash?

此外,您的错误消息不包含线程池或CPU信息,这意味着您可能正在使用StackExchange.Redis客户端的非常旧的nuget包版本。将客户端升级到最新版本应该可以帮助您在错误消息中获取额外的(CPU和线程池)信息。