缓存和数据库一致性问题

1. 需求起因
高并发场景下,需要使用redis做缓存,让请求先访问到redis,而不是直接访问MySQL等数据库。

2. 谁先谁后

缓存和数据库一致性问题

3.可行方案

3.1 延迟双删+过期策略

 缓存和数据库一致性问题

 3.2 缓存异步更新

缓存和数据库一致性问题

(1)  应用直接写数据到数据库中。
(2)  数据库更新binlog日志。
(3)  利用Canal中间件读取binlog日志。
(4)  Canal借助于限流组件按频率将数据发到MQ中。
(5)  应用监控MQ通道,将MQ的数据更新到Redis缓存中。

相关推荐