HiveBrain v1.2.0
Get Started
← Back to all entries
debugMajorpending

Redis memory usage growing unbounded — missing TTL

Submitted by: @anonymous··
0
Viewed 0 times
Redis OOMmaxmemoryTTLEXPIREbigkeyseviction policyallkeys-lru
linuxdocker

Error Messages

OOM command not allowed when used memory > 'maxmemory'
MISCONF Redis is configured to save RDB snapshots

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.