That landed with a lot of people who have seen Redis configured as a cache in theory and operated like critical state in practice. The recurring failure modes were familiar. Persistence settings left on by default-ish habits, no eviction policy, append-only file problems, and apps that returned 500s because Redis was expected to be warm and correct for every request. Several commenters said that once you use Redis for anything besides disposable key-value entries, you effectively already have two systems anyway. One Redis instance needs eviction and volatility for caching. Another needs persistence and different operational guarantees for queues, counters, or data structures.
The useful correction was that memcached does not save you from sloppy cache design. People remembered the same pathologies from older memcached fleets. Hot keys, thundering herds, stale routing, and backend meltdowns when the cache was assumed to be always there. The difference is not magic reliability. It is that memcached’s constraints make abuse harder and force simpler patterns. A few commenters also noted technical reasons that still make it attractive for this narrow role. Memcached keeps operations
O(1) by design, while Redis exposes richer commands whose complexity can stall other work in its
single-threaded core. But there was no consensus that memcached is dramatically faster in real deployments. The stronger claim was that it is easier to keep honest.
A practical theme ran through the whole conversation. Many teams do not need either tool at first. A database table used as a
key-value store, local filesystem caching, or even plain in-process memory can go surprisingly far, especially if those choices simplify coordination and failure handling. The dividing line is not request count by itself. It is when a shared cache meaningfully cuts load or latency enough to justify adding another moving part. Once you cross that line, commenters were blunt about the rules: enforce expirations, set memory limits and eviction, keep cacheable data reconstructable, and do not let convenience features quietly turn a cache into a pseudo-database.