我有一些大的有效负载进入redis(高达40kb)。
stackexchange.redis.redistimeoutexception:执行setex cachekeyid的超时(5000ms),指令:1,qs:11,输入:2837,服务器终结点:服务器名称:6380,管理器:10个可用,客户端名称:419c1daaa93f,IOCP:(忙=0,闲=1000,分=1,最大值=1000),工作机:(忙=39,闲=32728,最小值=1,最大值=32767),v:2.0.519.65453(请查看本文以了解一些常见的客户端问题,这些问题可能导致超时:https://stackexchange.github.io/StackExchange.Redis/Timeouts)
你怎么解决的?如果要在对调用方透明的通用解决方案接口后面执行此操作,则按照建议分块键或打开多个connectionmultiplexers并亲自处理池,这两项任务都不是简单的任务?
最佳答案
以前我也遇到过同样的问题redis超时。
下面的变化解决了我的问题。
在redis中使用linux服务器而不是windows服务器
获取和设置操作时使用命令标志,获取操作时使用
commandflags.preferSlave和while set use
CommandFlags.FireandForget。
根据应用程序更改流程模型
服务器配置more
禁用redis持久性more description here
关于c# - StackExchange.Redis.RedisTimeoutException - 由于qs人们如何解决它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55029001/