ERR increment or decrement would overflow: ERR increment or decrement would overflow (증가 또는 감소 시 오버플로 발생)
Redis의미
결과가 64비트 부호 있는 정수 범위를 넘어 오버플로되므로 INCR/DECR(또는 INCRBY/DECRBY)이 거부되었다. 값이 상한 또는 하한을 초과하게 된다.
원인
키 값이 int64 한계(약 922경)에 매우 근접하여 증가/감소 시 오버플로, 매우 큰 INCRBY 인수, 또는 통제 없이 증가하는 카운터.
해결 방법
카운터 값이 int64 범위 내에 머물도록 설계한다. 큰 카운트에는 스케일링이나 주기적 재설정을 적용한다. 증가량(INCRBY 인수)을 합리적인 범위로 유지한다. 매우 큰 값이 필요하면 애플리케이션 계층에서 다른 카운팅 전략을 사용한다.
같은 데이터베이스의 다른 항목
- NOPERMNOPERM this user has no permissions to run the command or access one of the keys (명령 실행 또는 키 접근 권한 없음)
- ERR value is not an integer or out of rangeERR value is not an integer or out of range (값이 정수가 아니거나 범위를 벗어남)
- ERR value is not a valid floatERR value is not a valid float (값이 유효한 부동소수점 수가 아님)
- ERR max number of clients reachedERR max number of clients reached (최대 클라이언트 수 도달)
- BUSYKEYBUSYKEY Target key name already exists (대상 키 이름이 이미 존재함)
- ERR no such keyERR no such key
- ERR DUMP payload version or checksum are wrongERR DUMP payload version or checksum are wrong (DUMP 페이로드 버전 또는 체크섬 오류)