2)读取binlog后分析 , 利用消息队列,推送更新各台的redis缓存数据 。
这样一旦MySQL中产生了新的写入、更新、删除等操作 , 就可以把binlog相关的消息推送至Redis , Redis再根据binlog中的记录 , 对Redis进行更新 。
其实这种机制 , 很类似MySQL的主从备份机制 , 因为MySQL的主备也是通过binlog来实现的数据一致性 。
这里可以结合使用canal(阿里的一款开源框架) , 通过该框架可以对MySQL的binlog进行订阅 , 而canal正是模仿了mysql的slave数据库的备份请求 , 使得Redis的数据更新达到了相同的效果 。
当然 , 这里的消息推送工具你也可以采用别的第三方:kafka、rabbitMQ等来实现推送更新Redis 。
推荐阅读
- SpringBoot使用Redis实现 自动缓存 更新 删除
- hr|有经验的HR表示,看到这几类毕业生简历,通常都会直接淘汰
- 车子换轮胎时这个小备件一定要记得检查,同样是橡胶材质都会老化
- 教程 Redis+ flask+vue 在线聊天
- 你知道Redis的字符串是怎么实现的吗?
- 跑步对膝盖真的不好吗
- 健身气功五禽戏
- 如何保证Redis和数据库双写一致性的问题?
- 什么是Redis?为什么我们要用Redis?
- Redis安装与使用之Java连接Redis