# Distributed Cache

Published articles for Distributed Cache.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Local and distributed cache coherence: stale data caused by missed invalidation messages

DevFeed: [Local and distributed cache coherence: stale data caused by missed invalidation messages](<https://devfeed.tech/articles/local-cache-plus-distributed-cache-the-coherence-bill-nobody-budgets-for-39606.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/54-local-and-distributed-cache-coherence/>)

Author: hello@ankit-rana.com

Published: 2026-09-17T00:00:00Z

Content type: opinion

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [Caching](<https://devfeed.tech/topics/caching.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [data](<https://devfeed.tech/topics/data.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [cache-coherence](<https://devfeed.tech/tags/cache-coherence.md>), [caching](<https://devfeed.tech/tags/caching.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [data](<https://devfeed.tech/tags/data.md>), [distributed-cache](<https://devfeed.tech/tags/distributed-cache.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [network](<https://devfeed.tech/tags/network.md>), [redis](<https://devfeed.tech/tags/redis.md>), [ttl](<https://devfeed.tech/tags/ttl.md>)

### AI overview

The article explains that adding an in-process cache in front of a distributed cache can improve latency but creates independently stale copies across service instances. It focuses on Redis pub/sub invalidation, which provides no persistence, acknowledgement, retry, or replay, allowing instances to miss invalidation messages and serve stale data until their TTL expires.

### Source excerpt

An in-process cache in front of a distributed cache removes a network hop and adds one independent copy of the data per instance, each of which can be stale on its own schedule. Invalidation is normally broadcast over pub/sub, which is fire and forget, so any instance that is restarting, garbage collecting or briefly disconnected simply misses the message and serves stale data until its TTL expires. That TTL is not a performance setting, it is the maximum duration of incorrectness.

## Agoda Replaces 72-Shard SQL Server Price Cache with DragonflyDB

DevFeed: [Agoda Replaces 72-Shard SQL Server Price Cache with DragonflyDB](<https://devfeed.tech/articles/agoda-replaces-72-shard-sql-server-price-cache-with-dragonflydb-21543.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/agoda-price-cache-dragonflydb/>)

Author: Leela Kumili

Published: 2026-09-14T13:48:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [Cache](<https://devfeed.tech/topics/cache.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [migration](<https://devfeed.tech/topics/migration.md>), [sql-server](<https://devfeed.tech/topics/sql-server.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>)

Tags: [a-b-testing](<https://devfeed.tech/tags/a-b-testing.md>), [agoda-price-cache-dragonflydb](<https://devfeed.tech/tags/agoda-price-cache-dragonflydb.md>), [architecture-design](<https://devfeed.tech/tags/architecture-design.md>), [cache](<https://devfeed.tech/tags/cache.md>), [caching](<https://devfeed.tech/tags/caching.md>), [development](<https://devfeed.tech/tags/development.md>), [devops](<https://devfeed.tech/tags/devops.md>), [distributed-cache](<https://devfeed.tech/tags/distributed-cache.md>), [distributed-data](<https://devfeed.tech/tags/distributed-data.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [latency](<https://devfeed.tech/tags/latency.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [migration](<https://devfeed.tech/tags/migration.md>), [news](<https://devfeed.tech/tags/news.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [redis](<https://devfeed.tech/tags/redis.md>), [sql-server](<https://devfeed.tech/tags/sql-server.md>)

### AI overview

Agoda migrated its 1.5 TB hotel Price Cache from 72 Microsoft SQL Server shards to DragonflyDB. The staged migration used workload testing, dual reads, parity metrics, and gradual traffic shifting; Agoda reported substantially lower P99 read latency.

### Source excerpt

Agoda migrated its 1.5 TB hotel Price Cache from 72 SQL Server shards to DragonflyDB to handle growing read and write volumes. The migration used staged dual reads, parity validation, gradual traffic shifting, and decentralized failover detection. Agoda reports an approximately eightfold reduction in P99 read latency, with two DragonflyDB clusters providing high availability. By Leela Kumili

## Scaling a distributed cache: Why consistent hashing is mandatory

DevFeed: [Scaling a distributed cache: Why consistent hashing is mandatory](<https://devfeed.tech/articles/scaling-a-distributed-cache-why-consistent-hashing-is-mandatory-39578.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/26-scaling-distributed-cache-consistent-hashing/>)

Author: hello@ankit-rana.com

Published: 2026-05-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [consistent hashing](<https://devfeed.tech/topics/consistent-hashing.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [sharding](<https://devfeed.tech/topics/sharding.md>), [scaling](<https://devfeed.tech/topics/scaling.md>), [Database](<https://devfeed.tech/topics/database.md>), [Memcached](<https://devfeed.tech/topics/memcached.md>), [Redis](<https://devfeed.tech/topics/redis.md>)

Tags: [caching](<https://devfeed.tech/tags/caching.md>), [consistent-hashing](<https://devfeed.tech/tags/consistent-hashing.md>), [database](<https://devfeed.tech/tags/database.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-cache](<https://devfeed.tech/tags/distributed-cache.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [memcached](<https://devfeed.tech/tags/memcached.md>), [redis](<https://devfeed.tech/tags/redis.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [sharding](<https://devfeed.tech/tags/sharding.md>)

### AI overview

The article explains why modulo-based cache sharding can remap nearly every key when a node fails, causing a large cache miss surge and database overload. It presents consistent hashing on a fixed ring as a way to limit movement to keys assigned to the failed node, and notes that virtual nodes improve distribution across physical cache nodes.

### Source excerpt

Sharding a cache with hash(key) modulo N means the denominator changes when a node dies, remapping nearly every key. Dropping from five nodes to four invalidates about 80 percent of the cache instantly and routes that miss storm straight at the primary database. Consistent hashing maps nodes and keys onto a fixed ring so only the dead node's keys move, and virtual nodes fix the uneven distribution a handful of physical nodes would otherwise produce.