[Redis] 如何保证redis和MySQL的数据一致性

79 阅读1分钟

例子. 将商品分类表存到redis中, 如何保证更新商品分类时, redis缓存也更新呢?

经过查询多方资料, 最终比较适合的方案是:

Canal+MQ

Canal 读取MySQL的binlog的数据, 推送到MQ, 然后根据binlog的信息更新redis缓存

B站: # 你们项目中如何保证 Redis 与 MySQL 的数据一致性?

文章:redis和MySQL如何保证数据一致性

其他问题
1.如果需要达到高并发情景的要求, 需要将数据修改的请求先写入redis, 再对MySQL进行更新操作, 这里不考虑这种情况
2.另外canal读取binlog需要进一步进行学习
3.第二篇文章是直接推送到redis, 没有使用MQ