AWS RedisConnectionException:没有连接可用于服务此操作。 SocketClosed异常

时间:2019-11-19 12:25:39

标签: redis stackexchange.redis redis-cache cachingframework.redis

突然,我们在碰到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.5StackExchange.Redis 1.2.1,我们尝试使用最新版本的StackExchange.Redis,但似乎它不支持.Net framework 4.5

在不更改当前应用程序.Net框架的情况下我们应该怎么做?谢谢。

1 个答案:

答案 0 :(得分:3)

是,问题现已解决。

旧版本的Redis中存在一些问题,尽管设置了超时,但并未关闭连接。

  1. AWS控制台中的Redis升级版本。 (Redis5.0
  2. CachingFramework.Redis版本更新为11.1.0
  3. StackExchange.Redis库更新为2.0.601
  4. 将参数组的超时值设置回0(默认值)。

注意:为此,我们还更新了.Net Framework。