redis与mysql怎样保证数据一致

1、技术的整体思维 。
mysqlbinlog增量订阅将消息队列增量数据更新消耗到redis
【redis与mysql怎样保证数据一致】1)读取redis:热数据基本在redis中
2)写mysql:增删改就是操作mysql

redis与mysql怎样保证数据一致

文章插图
3.更新redis数据:mysq操作binlog更新到redis
2.redis已更新 。
1)数据操作主要分为两个块:
一个是满量(所有数据一次写入redis)
一种是增量式(实时更新)
这里的增量是指mysql的更新、插入和延迟变更数据 。
2)读取binlog后进行分析,利用消息队列推送更新各站redis缓存数据 。
这样,一旦mysql中出现写入、更新、删除等新操作,就可以将binlog相关的消息推送到redis,然后redis根据binlog中的记录更新redis 。
这个机制其实和mysql的主从备份机制很像,因为mysql的主从备份也是通过binlog实现数据一致性的 。
这里可以组合使用canal(阿里的一个开源框架),通过它可以订阅mysqlbinlog,canal模仿mysql从数据库的备份请求,使得redis的数据更新达到同样的效果 。