debugMajorpending
Redis memory usage growing unbounded — missing TTL
Viewed 0 times
Redis OOMmaxmemoryTTLEXPIREbigkeyseviction policyallkeys-lru
linuxdocker
Error Messages
Problem
Redis memory usage keeps growing until it hits maxmemory and starts evicting keys or returning OOM errors. The data set should not be this large based on active usage.
Solution
(1) Set TTL on every key that isn't permanent: SET key value EX 3600. (2) Audit existing keys: redis-cli --bigkeys to find largest keys. (3) Check for key patterns without TTL: redis-cli DEBUG OBJECT key to see idle time. (4) Use eviction policy: allkeys-lru is safest for caches. (5) Common leaks: session keys without expiry, rate limiter counters without cleanup, cached results that grow forever. (6) Use SCAN (not KEYS) to iterate and find orphaned keys. (7) Monitor: INFO memory shows used_memory and fragmentation ratio.
Why
Redis stores everything in RAM. Without TTL, keys accumulate indefinitely. Unlike a database that can grow on disk, Redis is bounded by available memory.
Revisions (0)
No revisions yet.