[REDIS] 레디 스 : 이상한 프로토콜 / 네트워크 오류
REDIS레디 스 : 이상한 프로토콜 / 네트워크 오류
나는 레디 스를 실행하고 ezmobius의 레디 스 보석 [1]을 사용하여 루비에서 연결하고 있습니다.
주기적으로 나는 이상한 결과를 반환 레디 스에 의한 내 레일 응용 프로그램에서 예외 시리즈를 얻을 수 (하루에 한 번 약).
그들은 종종에서 예외 등에 의해 트리거됩니다
Redis::ProtocolError: Protocol error, got '3' as initial reply byte
또는
Redis::ProtocolError: Protocol error, got '9' as initial reply byte
또는 때때로
Errno::EAGAIN: Resource temporarily unavailable - Timeout reading from the socket
그것은 일반적으로 연결 문제를 정리하기 위해 내 레일 서버를 다시 시작해야합니다. 나는, 페도라 코어 8을 실행하는거야 2.3.8 레일, 레디 스 보석 2.0.3. 나는 설치 system_timer 보석을 가지고있다. 아무도 내가 이러한 오류를 막을 수있는 방법 어떤 아이디어를 가지고?
[1] 레디 보석
해결법
-
==============================
1.난 그냥 저장할 수도 레디 스에서 큐의 작업과는 레디 스 펍 / 서브 통해 통신 내 배경 노동자에 같은 일을 나타났습니다. Google 결과는 둘 이상의 스레드에서 같은 레디 스 개체를 사용하는 경우이 나는이 내 응용 프로그램의 경우이 경우 물론,이 조사해야 아니에요 ... 일어날 수있는 제안 (하지만 난 스레드를해야합니까이 ).
난 그냥 저장할 수도 레디 스에서 큐의 작업과는 레디 스 펍 / 서브 통해 통신 내 배경 노동자에 같은 일을 나타났습니다. Google 결과는 둘 이상의 스레드에서 같은 레디 스 개체를 사용하는 경우이 나는이 내 응용 프로그램의 경우이 경우 물론,이 조사해야 아니에요 ... 일어날 수있는 제안 (하지만 난 스레드를해야합니까이 ).
-
==============================
2.나는과 약간 유사한 문제가 있었다
나는과 약간 유사한 문제가 있었다
Errno::EAGAIN: Resource temporarily unavailable - Timeout reading from the socket
내 레디 스 서버가 연결을 300 초 시간 제한 설정을했다 밝혀졌습니다. 5 분 후에, 레디 스 내 노동자에 대한 연결을 죽이는 그들은 위의 오류를 기록했다.
당신의 소켓 시간 초과가 모든 x 초를 발생하는 경우, 그 의심의 여지가 당신의 '유휴'연결을 죽이는 레디 스 없다!
-
==============================
3.thread_safe 옵션 : 연결을 초기화 할 때,을 통과해야합니다 :
thread_safe 옵션 : 연결을 초기화 할 때,을 통과해야합니다 :
Redis.connect(:thread_safe => true)
from https://stackoverflow.com/questions/3711953/redis-weird-protocol-network-errors by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] Redigo 레디 스 풀 정말 전역 변수로되어 있습니까? (0) | 2020.01.26 |
---|---|
[REDIS] 레디 스에 정보 명령에 의해 나열 만료되는 키의 수는 내가 보는 것과 일치하지 슬레이브 (0) | 2020.01.26 |
[REDIS] Laravel 5.1 세션 및 Socket.IO + 레디 스 - 사용자의 기록 된 IN에 알림 보내기 (알려진) 사용자 및 그룹 (0) | 2020.01.26 |
[REDIS] 어떻게 경고 사용자에게 때 resque 작업 완료 (0) | 2020.01.26 |
[REDIS] 레디 스 캐시에 데이터의 계층 구조 (트리)의 일부를 무효화하는 방법 (0) | 2020.01.26 |