NOPROTO unsupported protocol version: Unsupported RESP protocol version
Redis의미
클라이언트가 서버가 지원하지 않는 RESP 프로토콜 버전을 요청했다. 보통 HELLO 명령으로 RESP3(버전 3)를 요청했는데 서버가 RESP2만 지원할 때 반환된다.
원인
HELLO 3을 보냈지만 서버가 이전 Redis 버전(6.0 이전)이거나 RESP3를 지원하지 않는 경우, 또는 클라이언트 라이브러리가 기본으로 RESP3를 요청하는데 서버가 오래된 경우다. 버전 불일치다.
해결 방법
클라이언트가 RESP2를 사용하도록 구성하거나 HELLO로 유효한 버전을 요청한다(HELLO 2). 서버를 RESP3를 지원하는 버전(Redis 6+)으로 업그레이드한다. 클라이언트 라이브러리의 프로토콜 버전 설정을 검토한다. 대부분의 라이브러리는 자동으로 RESP2로 폴백할 수 있다. 서버 버전 확인: INFO server (redis_version).
같은 데이터베이스의 다른 항목
- ERR Client sent AUTH, but no password is setERR AUTH <password> called without any password configured for the default user (Redis 6+) / ERR Client sent AUTH, but no password is set (Redis <6) (비밀번호가 설정되지 않은 상태에서 AUTH 호출)
- ERR DEBUG command not allowedDEBUG command not allowed
- ERR Can't save in background: fork failedBackground save failed: fork failed
- ERR Unknown option or number of arguments for CONFIG SETUnknown option or number of arguments for CONFIG SET (older versions: Unsupported CONFIG parameter) (CONFIG SET의 알 수 없는 옵션 또는 인수 개수 오류)
- ERR MULTI calls can not be nestedMULTI calls can not be nested
- ERR Lua script attempted to access nonexistent global variableLua script attempted to access a nonexistent global variable (Lua 스크립트가 존재하지 않는 전역 변수에 접근)
- ERR unknown commandUnknown command