Redis和数据库保持数据一致性方案

news/2024/11/24 12:47:32/

Redis和数据库一致性又称为“双写一致性”,在分布式系统中,由于多个节点之间的并发读写操作,可能导致数据不一致的情况发生。本文将着重介绍如何通过使用Redis与数据库相结合的方案来实现数据一致性。

数据不一致产生的原因:

首先,读取数据时都是先查询Redis,命中则直接返回,未命中则先查询数据库,再写入缓存并设定超时时间,因此不会有问题;

在修改数据时会出现以下问题:

1.先删除缓存再修改数据库

线程A先删除缓存,线程B读取缓存为空,然后读数据库并把数据加入缓存,线程A再修改数据库,此时缓存的是脏数据

 

2.先修改数据库再删除缓存

线程A先读取缓存为空然后查询数据库,线程B修改数据库后删除缓存,线程A把线程B修改前查询到的数据更新到缓存,此时缓存也是脏数据

 

解决方案:

延迟双删:

删除缓存、修改数据库后经过一定时间的延迟再删除缓存,让主数据库同步数据到从数据库。延迟双删不好控制延迟的时间,而且还会延迟的过程中可能会出现脏数据。

读写锁(强一致):

使用Redisson实现读写锁,在读的时候添加共享锁,可以保证读读不互斥,读写互斥。当我们更新数据的时候,添加排他锁,它是读写,读读都互斥,这样就能保证在写数据的同时是不会让其他线程读数据的,避免了脏数据。这里面需要注意的是读方法和写方法上需要使用同一把锁才行。

异步通知(延时一致):

1、使用RabbitMQ中间件,在数据发生更新后发一条消息到MQ,缓存服务监听MQ消息更新缓存。由于消息需要经过MQ,会有一定的延迟,所以是延时一致。

2、采用的阿里的canal组件实现数据同步:不需要更改业务代码,部署一个canal服务。canal服务把自己伪装成mysql的一个从节点,当mysql数据更新以后,canal会读取binlog数据,然后在通过canal的客户端获取到数据,更新缓存即可。

方案比较和选择:

  • 强一致性 vs 延时一致性:根据业务需求选择合适的数据一致性方案,权衡一致性级别和性能开销。
  • 性能和可靠性权衡:评估不同方案在性能和可靠性方面的特点,并根据需求做出选择。
  • 根据业务需求选择方案:考虑业务的实际需求,例如数据更新的频率、对数据实时性的要求以及系统的可扩展性。

http://www.ppmy.cn/news/581533.html

相关文章

天骄辅助外挂制作,寻求合作

大家好, 进入正题现有我想开发一款游戏外挂,是针对新天娇的 不知您有没有开发外挂的经验呢?由于本人没有外挂开发的经验也暂时找不到相关的资料学习。 现在打算将这个项目外包出去, 要求: 一台机可以同时登录几个帐号 …

脱机外挂制作完全

一、游戏封包的加密与解密算法的破解 破解封包的加密与解密算法是制作外挂的第一步,是外挂制作中最具技术含量的步骤,同样也是一个十分令人头痛的环节。如果加密与解密算法被成功地破解,那么外挂制作也就完成了一半。破解封包的加密与解密算…

脱机外挂制作

- 综述 外挂一直来让人感觉非常神秘,以致很多人望而却步。当你有了一定的了解后你会发现制作外挂并不是件十分的困难事情,而真正唯一需要的就是时间与毅力。为了使更多的人对外挂的制作有所了解,本人将对外挂的一些概念与制作方法讲解一二。 …

极客日报第 31 期:编写贩卖《和平精英》游戏外挂,5人被判刑;苹果推出轻App码

文章目录 互联网快讯程序员专属Github 每日精选CSDN 社区优质博文精选 互联网快讯 1、编写贩卖《和平精英》游戏外挂,湖北襄阳 5 人被判刑 据 “湖北高院”微信公众号 15 日消息,12 月 11 日,襄阳市中级人民法院审结了一起编写、贩卖 “游戏…

51单片重要外设系列

AD/DA转换打开了计算机与模拟信号的大门,也就是计算机与外部真实世界交换信息的桥梁,为实现计算机控制外部环境打下了坚实基础 如上图所示,那个变化的阻值会引起上面电阻电压的变化,通过电压信号的变化,单片机读取到数…

游戏安全反外挂-64驱动

在游戏外挂和反外挂的对抗中 驱动有其重要的作用 但是随着Windows 系统的升级 很多东西出现了局限性,不过我们还是需要了解学习一下 如果下是一个最简单的64驱动 //环境设置: //属性页->C / C>警告等级 : 等级3 / W3 //属性页->C / C>将警告视为错…

编写贩卖《和平精英》游戏外挂,5人被判刑;苹果推出轻App码;Firefox 84.0发布|极客头条...

整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持。 「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我…

T.R 武林三国外挂

T.R 武林三国外挂-50sg- 功能强大,完全免费 官方网站 :http://www.5ugame.cn/ [T.R武林三国] 经过近百位网友测试验证通过,稳定运行。 功能列表: 只开一个辅助,管理所有城池。。功能强大,非市面上任何一…