Why Does Redis Memory Suddenly Spike? A Large‑Scale Troubleshooting Guide
The article presents a four‑layer method for diagnosing sudden Redis memory growth, covering recent releases or configuration changes, key monitoring metrics, sampled key analysis, and emergency mitigation steps, with concrete metric definitions and practical examples.
First Layer: Verify Recent Releases or Changes
Check the last 30 minutes to 24 hours for any of the following events:
Application deployment
Configuration changes
Scheduled‑task modifications
Redis parameter adjustments
Data‑structure upgrades
Many memory problems are tightly linked to such changes, especially when a new version introduces finer cache granularity, a surge in key count, or the removal of TTL.
Second Layer: Examine Monitoring Curves
Observe the following metrics simultaneously:
Memory usage curve
QPS curve
Write‑command ratio
Key count changes
Expiration and eviction counts
Slow queries and blocking situations
Key indicators and their typical interpretations: used_memory: memory allocated by Redis allocator – continuous rise indicates data growth. used_memory_rss: OS‑resident memory – a sharp increase while used_memory stays flat suggests fragmentation, copy‑on‑write, or unreleased memory. mem_fragmentation_ratio: RSS / used_memory – values persistently > 1.5 signal fragmentation; sudden spikes require checking fork/COW. used_memory_dataset: memory of the dataset itself – growth usually comes from new writes, large keys, or TTL expiration failures. used_memory_overhead: overhead for metadata, client buffers, replication – abnormal rise points to connection, buffer, or expiration‑dictionary issues. mem_clients_normal: memory used by normal client buffers – high values imply slow reads or connection backlog. mem_clients_slaves: memory used by replica client buffers – high values indicate replica lag, full sync, or link problems. evicted_keys: number of evicted keys – increase shows the maxmemory limit has been hit. expired_keys: number of expired keys – helps verify TTL operation. total_connections_received: total connections – sudden jumps suggest connection leaks, pool failures, or traffic anomalies.
Third Layer: Sample Key Analysis
Without affecting online stability, sample and examine:
Large keys
Hot keys
Number of keys sharing the same prefix
Distribution of value types
Large enterprises especially watch for structural issues such as:
Hashes with an excessive number of fields
Sets that grow without bound
Lists used as message queues that are not fully consumed
Zsets (leaderboards) that are never trimmed
These symptoms often stem from business‑model design flaws rather than Redis itself.
Fourth Layer: Emergency Handling – Stop Bleeding, Then Optimize
When memory approaches its limit, apply immediate mitigation measures before long‑term optimization:
Temporarily rate‑limit write traffic
Take offline abnormal tasks or problematic versions
Adjust TTL to reduce new write pressure
Delete clearly abnormal large keys (with caution)
Scale the Redis instance or migrate to a larger cluster
Restart the instance if fragmentation needs relief
Key deletion must be done carefully; removing a key solely because it is large can cause broader failures if the business cannot tolerate its loss.
The overall approach of large‑scale operators is not to fixate on a single metric but to locate the root cause through a five‑point integration of monitoring, releases, logs, key distribution, and configuration.
Only by first identifying the symptom, then narrowing the scope, and finally validating the hypothesis can teams stop the bleed quickly and prevent recurrence.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Architect Chen
Sharing over a decade of architecture experience from Baidu, Alibaba, and Tencent.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
