当前位置:   article > 正文

redis双写一致

redis双写一致

redis双写一致,指的是redis缓存与mysql数据同步

双写一致常见方案有很多:

同步双写:更新完mysql后立即同时更新redis

mq同步:程序在更新完mysql后,投递消息到中间键mq,一个程序监听mq,获得消息后更新redis中的数据

阿里cannal组件实现异步监听:优点是不需要更改业务代码,部署cannal服务。cannal服务会把自己伪装成mysql的从节点,数据库更新后,canal会读取binlog数据,canal客户端获取到数据,会更新缓存

保证双写强一致性可以考虑上共享锁和排他锁,即读写锁

可用redisson实现读写锁,读的时候添加读锁,读共享,不能写。更新数据的时候,添加写锁,读写都互斥。这样就能保证写数据的同时不会让其他线程读取数据,避免脏数据。

排它锁底层可以使用setnx,也可以使用redisson框架(分布式环境中如何实现排他锁)

读锁的实现

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/105325
推荐阅读
  

闽ICP备14008679号