突然,我们在碰到Redis Cache (AWS)
时开始出现以下提到的异常。
过去工作正常。
我们已经看到,Redis节点的当前连接数不断增加。
没有可用的连接”异常,访问Redis。以下是例外- “没有连接可用于服务此操作:GET xxxxx;在xxxxx / Interactive上的SocketClosed,来源:ProcessReadBytes,输入缓冲区:0,未完成:0,最后读取:69 s前,最后写入:69 s前,未答复:2630s之前,保持活动状态:60s,待定:0,状态:Connected已建立,在:0,ar:0,last-heartbeat:0s之前,last-mbeat:0s之前,全局:0s之前:RedisConnectionException 在c:\ code \ StackExchange.Redis \ StackExchange.Redis \ StackExchange \ Redis \ ConnectionMultiplexer.cs:第2027行在StackExchange.Redis的StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl [T](消息,ResultProcessor1处理器,ServerEndPoint服务器)。 RedisBase.ExecuteSync [T](消息,消息,ResultProcessor1处理器,ServerEndPoint服务器)在c:\ code \ StackExchange.Redis \ StackExchange.Redis \ StackExchange \ Redis \ RedisBase.cs:line 81中 在c:\ code \ StackExchange.Redis \ StackExchange.Redis \ StackExchange \ Redis \ RedisDatabase.cs:line 1647中的StackExchange.Redis.RedisDatabase.StringGet(RedisKey键,CommandFlags标志) 在CachingFramework.Redis.Providers.RedisCacheProvider.GetObject [T](字符串键) 在/codebuild/output/src803013914/src/NetCoreUtilities/CachedObjects/CachedUserObject.cs:line 63中的NetCoreUtilities.CachedUserObjectRedis.Get()处 在/codebuild/output/src803013914/src/NetCoreUtilities/CachedObjects/CachedUserObject.cs:line 82中的NetCoreUtilities.CachedUserObject.GetCachedUserObject(ElasticacheHelper elasticacheHelper,Int64 userID)处 在/ codebuild / output / src803013914 / src / DIT Framework / users / GetChildCategoriesAndAssets.cs:第54行中的GetChildCategoriesAndAssets.Function.FunctionHandler(JObject输入,ILambdaContext上下文)中 在lambda_method(Closure,Stream,Stream,LambdaContextInternal)“
我们正在使用.Net framework 4.5
和StackExchange.Redis 1.2.1
,我们尝试使用最新版本的StackExchange.Redis
,但似乎它不支持.Net framework 4.5
。
在不更改当前应用程序.Net框架的情况下我们应该怎么做?谢谢。
答案 0 :(得分:3)
是,问题现已解决。
旧版本的Redis中存在一些问题,尽管设置了超时,但并未关闭连接。
Redis5.0
)CachingFramework.Redis
版本更新为11.1.0
StackExchange.Redis
库更新为2.0.601
注意:为此,我们还更新了.Net Framework。