如何保证缓存与数据库的双写一致性

方案

  • 低效做法:使用事务,数据库与缓存的更新

​ 符合ACID

  • 业务普遍做法:先更新数据库,再删除缓存

  • 严谨但复杂的做法:消息队列、订阅binlog

旁路缓存原则(Cache Aside Pattern

读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。更新的时候,先更新数据库,然后再删除缓存。

参考资料

https://mp.weixin.qq.com/s/3TjMkXdgWzM-1vVdyqOGfA

Last updated