복붙노트

[REDIS] Stackexchange.Redis 시간 제한 및 socketfailures

REDIS

Stackexchange.Redis 시간 제한 및 socketfailures

나는 캐시 저장하고 일반적으로 작업을 잘으로 (Stackexchange.Redis 사용) 푸른 레디 스를 사용하고 있습니다. 하지만 지금 그리고 점점 시간 제한 오류이고 나는 그것이 일어나는 이유를 꼼짝 할 수 없다.

내 레디 스 연결 설정 :

value="dev.redis.cache.windows.net,ssl=true,password=secret,abortConnect=false,syncTimeout=3000"

나는 같은 초 (다중 호출)에서 모든 예외를 얻고있다 : [I가 aswell GET 작업에서 이러한 얻을. 거의 모든 예외는 StringSet 및 StringGet에 있습니다. 나는 거의 HashSets 또는 HashGets]에 예외를 얻을

Timeout performing SET {key}, inst: 1, mgr: ExecuteSelect, queue: 6, qu=0, qs=6, qc=0, wr=0/0, in=0/0
SocketFailure on SET
SocketFailure on SET
No connection is available to service this operation: SET 

나는 개체가 예상보다 오래 걸리는 설정이 때문에 내가 잠재적으로 synctimeout을 증가시킬 수 있지만 몇 가지 다른 문제가 숨어있을 것입니다 그래서 개체가 큰 것에 될 수 있다고 추측하고있다?

호출이 비동기 때 난 단지 stackexchange.redis에 대한 동기 호출에 이러한 예외를 얻고, 나는 예외를 보지 못했다.

스택 트레이스 :

StackExchange.Redis.RedisConnectionException: SocketFailure on SET
   at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor`1 processor, ServerEndPoint server) i
   at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor`1 processor, ServerEndPoint server) 
   at StackExchange.Redis.RedisDatabase.StringSet(RedisKey key, RedisValue value, Nullable`1 expiry, When when, CommandFlags flags) 
at calling method

편집 : 나는 StackExchange.Redis 1.0.414 패키지를 사용하고 난 내 개체를 직렬화 MessagePack을 사용하고 있습니다

해결법

  1. ==============================

    1.제한 시간은 일반적으로 몇 가지 중 하나에 의해 발생합니다. 여기 몇 가지 예가 있어요

    제한 시간은 일반적으로 몇 가지 중 하나에 의해 발생합니다. 여기 몇 가지 예가 있어요

    클라이언트 측 문제에 대한 팁 : https://gist.github.com/JonCole/db0e90bedeb3fc4823c2

    서버 측 문제에 대한 팁 : https://gist.github.com/JonCole/9225f783a40564c9879d

    나는 또한 StackExchange.Redis의 새 버전으로 업그레이드를 추천 할 것입니다. 버전 1.1.603는 내가 위에 나열된 일반적인 클라이언트 측의 어떤 일을 식별하는 데 도움이 될 수 있습니다 시간 제한 오류 메시지에서 좀 더 자세한 진단 정보를 가지고 있습니다.

    소켓 실패에 관해서는, 연결을위한 일반적인 원인의 몇 내가이 본 것을 클라이언트와 서버 사이에 떨어 :

  2. from https://stackoverflow.com/questions/30811020/stackexchange-redis-timeouts-socketfailures by cc-by-sa and MIT license