数据库缓存一致性问题

缓存一致性

1.更新数据库后更新缓存

在这里插入图片描述

2.更新数据库前更新缓存

在这里插入图片描述

3.更新数据库前删除缓存

正常策略
在这里插入图片描述
延迟策略
在这里插入图片描述

4.更新数据库后删除缓存

场景1
在这里插入图片描述
场景2
在这里插入图片描述

5.解决方法

1.MQ中间件
把更新缓存的操作以 MQ 消息的方式发送出去,由不同的系统或者专门的一个系统进行订阅,而做聚合的操作。不同业务系统订阅 MQ 消息单独维护各自的缓存 Key,专门更新缓存的服务订阅 MQ 消息维护所有相关 Key 的缓存操作。

2.订阅MySQL binlog
利用 binlog 表监听及时发现,发现后就能集中处理,而且无论是在什么系统什么位置去更新数据,都能做到集中处理。


版权声明:本文为lanseali原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。