Внезапно мы начали получать ниже упомянутое исключение при нажатии Redis Cache (AWS)
. Раньше он работал нормально. Мы видели, что количество текущих подключений для узла Redis продолжает расти.
Исключение «Нет доступного подключения» при доступе к redis. Ниже приведено исключение: «Нет доступного подключения для обслуживания этой операции: GET xxxxx; SocketClosed на xxxxx/Interactive, происхождение: ProcessReadBytes, буфер ввода: 0, ожидание: 0, последнее чтение: 69 с назад, последняя запись: 69 с назад, запись без ответа: 2630 с назад, поддержка активности: 60 с, ожидание: 0 , состояние: ConnectedEstablished, in: 0, ar: 0, last-heartbeat: 0 с назад, last-mbeat: 0 с назад, глобально: 0 с назад: RedisConnectionException at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T] (сообщение сообщения, процессор ResultProcessor1 , сервер ServerEndPoint) в c:\code\StackExchange.Redis\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:строка 2027 в StackExchange.Redis.RedisBase.ExecuteSync[T](сообщение сообщения, процессор ResultProcessor1, сервер ServerEndPoint) в c:\code\StackExchange.Redis\StackExchange.Redis\StackExchange\Redis\RedisBase.cs:строка 81 в StackExchange.Redis.RedisDatabase.StringGet(ключ RedisKey, флаги CommandFlags) в c:\code\StackExchange.Redis\StackExchange. Redis\StackExchange\Redis\RedisDatabase.cs:строка 1647 в CachingFramework.Redis.Providers.RedisCachePr ovider.GetObject[T](строковый ключ) в NetCoreUtilities.CachedUserObjectRedis.Get() в /codebuild/output/src803013914/src/NetCoreUtilities/CachedObjects/CachedUserObject.cs:строка 63 в NetCoreUtilities.CachedUserObject.GetCachedUserObject(ElasticacheHelper elasticacheHelper, Int64 userID ) в /codebuild/output/src803013914/src/NetCoreUtilities/CachedObjects/CachedUserObject.cs:строка 82 в GetChildCategoriesAndAssets.Function.FunctionHandler(ввод JObject, контекст ILambdaContext) в /codebuild/output/src803013914/src/DIT Framework/users/GetChildAssetCate .cs: строка 54 в lambda_method (Closure, Stream, Stream, LambdaContextInternal)"
Мы используем .Net framework 4.5
и StackExchange.Redis 1.2.1
, мы пытались использовать последнюю версию StackExchange.Redis
, но похоже, что она не поддерживает .Net framework 4.5
.
Что нам делать, не меняя текущую .Net Framework Приложения? Спасибо.
1 ответ
Да, проблема на данный момент решена.
В старой версии Redis есть проблема, которая, несмотря на установленное время ожидания, не закрывает соединения.
- Обновлена версия Redis в консоли AWS. (
Redis5.0
) - Версия
CachingFramework.Redis
обновлена до11.1.0
. - Библиотека
StackExchange.Redis
обновлена до2.0.601
. - Установите значение тайм-аута для группы параметров обратно на 0 (по умолчанию).
Примечание. Для этого мы также обновили .Net Framework.
Похожие вопросы
Новые вопросы
redis
Redis - это хранилище структуры данных в памяти с открытым исходным кодом (по лицензии BSD), используемое в качестве базы данных, кэша и посредника сообщений. Он поддерживает структуры данных, такие как строки, хэши, списки, наборы, отсортированные наборы с запросами диапазона, растровые изображения, гиперлогоги, геопространственные индексы с запросами радиуса и потоками. Он также предоставляет возможности паб-саб. Используйте этот тег для вопросов, связанных с Redis и системой памяти.