Preventing Cache Stampedes: Mastering Redis TTL and Jitter
Avoid database crashes caused by synchronized cache expiration. Learn how to implement jitter in Redis TTLs and understand the difference between passive and active deletion.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Avoid database crashes caused by synchronized cache expiration. Learn how to implement jitter in Redis TTLs and understand the difference between passive and active deletion.
How to configure ClickHouse TTL expressions on MergeTree tables to delete or relocate aged data, verify expiration through system tables, and recover from a misfiring policy.
Guide to configuring ClickHouse TTL on MergeTree tables for automatic row expiration, including steps, verification, and recovery.
Learn how Cassandra’s built‑in TTL feature can automatically expire data, why it creates tombstones, and how to monitor and tune it to avoid performance surprises.
Learn how to use ClickHouse’s Time‑to‑Live (TTL) feature to automatically expire data, with syntax, partitioning tips, a concrete example, monitoring guidance, and trade‑off analysis. Perfect for engineers building long‑term data pipelines.
Context Moleculer's built-in cache pattern relies on per-node TTL expiration. When services scale horizontally, each node maintains its own cache instance with independent timers. The framework does not ship with a native cross-node invalidation mechanism, so a cache entry that expires on one node may remain valid on another until its local TTL elapses. Goal
Managing st.session_state lifecycle with @st.cache_data TTL Goal: ensure that any st.session_state assignments made inside a @st.cache_data‑decorated function are removed when the cache entry expires, preventing stale state from persisting across reruns. Constraint: the current Streamlit implementation does not automatically clear session_state set within ca
memoize cache expiration policy Goal: determine how to enforce a time‑to‑live (TTL) for entries returned by clojure.core/memoize . Constraints: memoize stores results in a mutable atom and never expires entries; no built‑in TTL or eviction strategy. Manual cache clearing is required, but the API does not expose a convenient mechanism for per‑key TTL or autom
Memcached manages item expiration using a 32-bit unsigned integer. The system distinguishes between a relative offset and an absolute timestamp based on a specific threshold: values under 2,592,000 seconds (30 days) are treated as relative TTLs, while values exceeding this limit are interpreted as Unix epoch timestamps. When migrating data structures or adju