The way Facebook handles write update is to simply delete the data from memcached and update directly in databases. The reason behind this is that:
"delete" is idempotent, no drama involved
most time we use cache as look-aside and demand-filled, so no need to update cache since not sure to use the data in the near future; in the meantime, simplify consistency control of distributed systems.
ArbitorOfTheFountain
In a service where 100% cache coherence is required like banking, how do systems avoid cache coherence issues due to internet latency between far apart servers? Does that lead us in the direction of transactional databases?
The way Facebook handles write update is to simply delete the data from memcached and update directly in databases. The reason behind this is that:
In a service where 100% cache coherence is required like banking, how do systems avoid cache coherence issues due to internet latency between far apart servers? Does that lead us in the direction of transactional databases?