ERR value is not an integer or out of range: ERR value is not an integer or out of range (값이 정수가 아니거나 범위를 벗어남)
Redis의미
정수를 기대하는 명령(예: INCR, EXPIRE, LPOP count)이 숫자가 아니거나 범위를 벗어난 값을 받았다. Redis가 값을 정수로 해석할 수 없었다.
원인
INCR/DECR 대상 키가 텍스트(정수가 아닌) 값을 보유, 숫자 대신 텍스트로 주어진 인수, 범위에 비해 너무 크거나 작은 숫자, 또는 허용되지 않는 음수 값.
해결 방법
키 값을 확인한다: GET mykey 및 TYPE mykey. 숫자 연산의 경우 키가 정수 값을 보유하는지 확인한다. 인수가 올바른 범위 내의 유효한 정수인지 확인한다. 필요하면 값을 재설정하거나(SET mykey 0) 올바른 타입으로 다시 생성한다.
같은 데이터베이스의 다른 항목
- NOSCRIPTNOSCRIPT No matching script. Please use EVAL
- EXECABORTEXECABORT Transaction discarded because of previous errors
- NOPERMNOPERM this user has no permissions to run the command or access one of the keys (명령 실행 또는 키 접근 권한 없음)
- ERR value is not a valid floatERR value is not a valid float (값이 유효한 부동소수점 수가 아님)
- ERR increment or decrement would overflowERR increment or decrement would overflow (증가 또는 감소 시 오버플로 발생)
- ERR max number of clients reachedERR max number of clients reached (최대 클라이언트 수 도달)
- BUSYKEYBUSYKEY Target key name already exists (대상 키 이름이 이미 존재함)