如何保证缓存与数据库的双写一致性
方案
低效做法:使用事务,数据库与缓存的更新
符合ACID
业务普遍做法:先更新数据库,再删除缓存
严谨但复杂的做法:消息队列、订阅binlog
旁路缓存原则(Cache Aside Pattern)
读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。更新的时候,先更新数据库,然后再删除缓存。
参考资料
https://mp.weixin.qq.com/s/3TjMkXdgWzM-1vVdyqOGfA
Last updated