Changing the shape of a cached value means every cached entry is now wrong, and there is no way to clear them selectively without knowing every key that…
A persistent object cache either works or silently does not, and both look identical from the front end: the site is up, the pages render, and the queries…
A cached value expiring under load means every request that arrives in the next few hundred milliseconds recomputes it simultaneously — so the moment of highest cost is…
A 400ms pause on every request, once an hour, caused by a cache cleanup nobody thought of as expensive. Redis is single-threaded, and freeing memory is work.
Reads moved to a replica and checkout started showing empty carts. Read-after-write, sticky connections, and measuring the lag rather than assuming it.
Rather than coordinating who recomputes, let each reader decide independently with a probability that rises as the expiry approaches — so one request refreshes early and the rest…