Since Redis stores data in RAM, memory management is critical — understanding the maxmemory limit, eviction policies, memory optimization, and monitoring is essential for running Redis reliably without running out of memory.
maxmemory and eviction
Set a memory limit so Redis doesn't consume all RAM:
maxmemory 2gb # cap Redis at 2GB
maxmemory-policy allkeys-lru # what to do when the limit is reached
When the limit is hit, Redis EVICTS keys per the policy (or rejects writes):
allkeys-lru → evict least-recently-used (any key) — common for a pure cache
allkeys-lfu → evict least-frequently-used
volatile-lru → evict LRU among keys WITH a TTL only
volatile-ttl → evict keys closest to expiry
noeviction → reject writes when full (good if Redis holds important data)
