使用Azure Redis 2.4的.NET Framework应用如何延长会话状态默认超时时间
延长Azure Redis会话状态超时时间的配置方法
你可以直接通过修改传入的连接字符串参数调整超时阈值,2.4版本Azure Redis客户端支持以下超时相关配置项:
connectTimeout:客户端和Redis服务端建立连接的超时时间,单位为毫秒,默认值为5000syncTimeout:同步执行Redis操作的超时时间,单位为毫秒,默认值为1000asyncTimeout:异步执行Redis操作的超时时间,单位为毫秒,默认值为1000
你可以直接将以上参数追加到现有连接字符串末尾,配置示例如下:"your-redis-instance.redis.cache.windows.net:6380,password=你的访问密钥,ssl=True,abortConnect=False,connectTimeout=15000,syncTimeout=10000,asyncTimeout=10000"
上述示例将连接超时设置为15秒,同步、异步操作超时均设置为10秒,你可以根据业务场景调整对应数值。
两类超时的区分说明
需要注意你遇到的超时需要和会话本身的有效时长做区分:
- Redis操作超时:即上面连接字符串配置的参数,解决Redis调用时抛出的超时异常
- 会话状态有效期超时:控制用户会话的有效时长,需要在web.config的sessionState节点中配置,单位为分钟,示例配置如下:
<sessionState mode="Custom" customProvider="AzureRedisSessionStateProvider" timeout="60">
上述配置将会话有效期设置为60分钟。
2.4版本专属注意事项
2.4版本的StackExchange.Redis客户端存在部分已知超时相关缺陷,如果调整连接字符串参数后仍频繁触发超时,可以额外在连接字符串追加responseTimeout=15000参数,同时排查Azure Redis服务端是否存在CPU过高、内存占满、吞吐量超限的性能问题。
内容的提问来源于stack exchange,提问作者Shubham Prasad
相关产品推荐
相关产品推荐

