Redis和Mysql如何保证数据一致性?

1、redis作用:

用于读数据库操作的缓存层,可以减少数据库的io,还能提升数据的io性能;

无法保证数据的acid

2、实现一致性方案:

要想保证强一致性就需要加锁,得不偿失了,保证最终一致性就好。

延迟双删方案是不对的,因为需要延迟几百毫秒,对于高并发系统是致命的,答了这种方案就直接挂了。

1、先更新数据库,在更新缓存

2、先删除缓存再更新数据库

3、最终一致性方案: 

(1)基于roketMQ可靠通信

 

(2)通过canal组件采集mysql binlog日志,同步redis

 

posted @ 2023-12-20 11:29  guoyu1  阅读(55)  评论(0编辑  收藏  举报