首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用StackExchange.Redis实现SETNX超时

用StackExchange.Redis实现SETNX超时
EN

Stack Overflow用户
提问于 2017-04-08 01:10:34
回答 2查看 1.1K关注 0票数 0

在野外捕捉到这个随机异常:

System.Web.HttpUnhandledException (0x80004005):引发了“System.Web.HttpUnhandledException”类型的异常。-> System.TimeoutException:执行SETNX GeoIP.REDACTED,inst: 1,经理:非活动,错误:从不,队列: 2,qs: 0,qc: 0,wr: 0,wq: 0,in: 0,ar: 0,clientName: PRD Web-1,serverEndpoint: keyHashSlot: 3519,IOCP:(Busy=0,Free=1000,Min=2,Max=1000),WORKER:(Busy=1,Free=32766,Min=2,Max=32767),本地CPU:不可用(请查看本文中的一些常见客户端问题,这些问题可能导致StackExchange.Redis.RedisBase.ExecuteSyncT的超时:https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md)。

使用StackExchange.Redis,部署在Azure上。

参考缓存文档中我可以看出,它看起来很好,也许Local-CPU不可用值是问题所在?

有人知道是什么原因造成了这一切吗?

EN

回答 2

Stack Overflow用户

发布于 2017-04-09 00:41:16

当您查看正在接收的错误时,是否看到繁忙值大于IOCP或辅助线程池的MIN的超时错误?如果是这样,线程池节流可能是原因。这种情况经常发生在突发的情况下。这通常伴随着高CPU,这也会导致超时。线程池节流在这里解释:https://gist.github.com/JonCole/e65411214030f0d823cb#file-threadpool-md

另外,以下是一些最佳实践:https://gist.github.com/JonCole/925630df72be1351b21440625ff2671f#best-practices-for-azure-redis

票数 0
EN

Stack Overflow用户

发布于 2019-01-07 08:03:17

示例

代码语言:javascript
复制
SET key value EX timeout NX

SET hello world EX 100 NX
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43289139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档