Previous | Next --- Slide 36 of 54
Back to Lecture Thumbnails

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:

  1. "delete" is idempotent, no drama involved
  2. 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.

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?