Redis: (error) ERR value is not an integer or out of range
INCR/DECR/EXPIRE-style commands received a non-integer value or the stored string isn't an integer.
ERR value is not an integer or out of range(error) ERR value is not an integer or out of rangeReplyError: ERR value is not an integer or out of rangeredis.exceptions.ResponseError: value is not an integer or out of rangeERR increment or decrement would overflow Meaning
Check the key's content: GET key. INCR requires the value to be a 64-bit integer string. Common with floats stored as strings ("1.5"), JSON, extra whitespace, or after APPEND. Use INCRBYFLOAT for decimals. Command arguments like EXPIRE key abc also raise it.
Common causes
- INCR on a non-numeric string/JSON
- Float stored then INCR (use INCRBYFLOAT)
- Value overflow beyond 64-bit
- Argument passed as non-integer (undefined, NaN)
- Serialiser changed format
⚡ Quick fix
GET keyto inspect; fix/delete the valueINCRBYFLOATfor decimals- Validate arguments before sending (no NaN/undefined)
Detailed fix by platform
Linux
redis-cli GET counter; redis-cli INCRBYFLOAT price 1.5
How to diagnose
- Value — Numeric string?
- Command — INCR vs INCRBYFLOAT?
- Args — Integers?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- BullMQ: Missing lock for job / job stalled more than allowable limit BullMQ: Error: Missing lock for job 42. moveToFinished / job stalled more than allowable limit
- BUSY Redis is busy running a script Redis: (error) BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE
- Celery with Redis: tasks run twice (visibility_timeout) Celery: Task executed twice / Restoring unacked messages — Redis broker visibility_timeout shorter than task ETA
Most viewed in Redis
- READONLY You can't write against a read only replica Redis: READONLY You can't write against a read only replica
- MISCONF Redis: MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk
- OOM command not allowed Redis: OOM command not allowed when used memory > 'maxmemory'
Other ways to find it
Where this error sits
Origin: Data. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 5 Nov 2026