redis双写一致

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

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

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

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

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

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

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

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

读锁的实现

相关推荐

  1. Redis 缓存与数据库一致如何解决

    2024-02-13 23:06:02       29 阅读
  2. 缓存数据库一致

    2024-02-13 23:06:02       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-13 23:06:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-13 23:06:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-13 23:06:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-13 23:06:02       18 阅读

热门阅读

  1. C#中使用 => 运算符的 switch 表达式

    2024-02-13 23:06:02       32 阅读
  2. Python scapy 构建多层嵌套数据包

    2024-02-13 23:06:02       26 阅读
  3. 业务流程

    2024-02-13 23:06:02       33 阅读
  4. 安装PostgreSQL和PostGIS

    2024-02-13 23:06:02       24 阅读
  5. 所有设计模式大全及学习链接

    2024-02-13 23:06:02       39 阅读
  6. 一篇文章学透所有Python知识

    2024-02-13 23:06:02       32 阅读
  7. Python列表中的clear功能及用法举例

    2024-02-13 23:06:02       34 阅读
  8. 突破编程_C++_面试(基础知识(13))

    2024-02-13 23:06:02       26 阅读
  9. 读书笔记:《人件:PeopleWare》

    2024-02-13 23:06:02       32 阅读