在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

如何保持MySQL和Redis中的数据一致

114次阅读
没有评论

共计 1409 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章给大家介绍如何保持 MySQL 和 Redis 中的数据一致,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在高并发的业务场景下,MySQL 和 Redis 的数据一致性就显得很重要了,多次访问 MySQL 就会导致奔溃或者延缓速度,而缓存 Redis 过多也会出问题,那就是丢数据,存着存着,数据就丢了

Redis  在互联网行业中使用最为广泛。在很多时候也被称为“内存数据库”,它集合了缓存和数据库的优势,但并非开启持久化和主备同步机制就可以高枕无忧。

写入数据库成功,即让缓存失效,下一次读取时再缓存。这是缓存的实时策略。

从架构设计的角度思考:缓存就是缓存,缓存数据会随时丢失,缓存存在的目的是拦截到数据库的请求,相比数据的可靠性、一致性,还是吞吐量、稳定性优先。

在考虑数据一致性的问题上由三种刷新策略

实时策略

异步策略

定时策略

实时策略是最常用的策略,能够让用户有最好的体验,但是一旦数据量过大就会出现,数据苦往往会受不了

异步策略适用于,数据量大,但是数据并不重要,因为可能会导致脏数据或者数据丢失

定时策略适用于,数据量大,数据也很重要的情况下,这也是最稳定的方案

读取的过程,应用程序先从  cache  取数据,没有得到,则从数据库中取数据,成功后,放到缓存中。如果命中,应用程序从  cache  中取数据,取到后返回。

写入的过程,把数据存到数据库中,成功后,再删除缓存,删除后下次读取的时候,会被写入缓存。

从用户体验的角度,应该数据库有了写入,就马上废弃缓存,触发一次数据库的读取,从而更新缓存。

然而,这和高并发就矛盾了——如果所有的都实时从数据库里面读取,高并发场景下,数据库往往受不了。

在读取写入数据时,适用定时策略一般不会出问题

MySQL 持久化数据,Redis 只读数据

MySQL 和 Redis 处理不同的数据类型
MySQL 处理实时性数据,Redis 处理对实时性要求并不是很高的数据。在并发不高的情况下,读取操作优先读取 redis,不存在的话再去访问 MySQL,并把读取到的数据写回 Redis 中;写入操作直接写 MySQL,然后后再写入 Redis。在并发高的情况下,读取操作和上面一样,写入操作则使用异步写入,先写入 Redis 后直接返回,然后定时定期的写入 MySQL

而一旦涉及到更新数据,就容易出现缓存和数据库之间的数据一致性的问题,不管是先写入数据库再删除缓存,还是先删除缓存再写入数据库,都有可能出现数据不一致的情况,例如:

先写入数据库,再删除缓存前,线程宕机了,没有删除掉缓存,就会出现数据不一致的情况

先删除 Redis,还没来得及写入数据库,另外一个线程就来读取,发现缓存为空,这个时候就会跑去数据库读取数据写入缓存,这个时候缓存中的数据就是脏数据

因为写入和读取是并发的,没有办法保证顺序,就会出现缓存和数据库的数据是不一致的问题,这时候就可以使用

延时双删策略

在写库前后都进行 Redis.del(key) 操作,并且设定合理地超时时间

先删缓存

再写数据库

休眠一段时间

再删缓存

设置缓存的过期时间

理论上来讲,设置缓存过期时间,是保证最终一致性的解决方案。所有的写入操作以数据库为准,只要到达缓存过期时间,则后面的读请求自然会从数据库中读取新值然后回填缓存

关于如何保持 MySQL 和 Redis 中的数据一致就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计1409字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 全部在线播放免费毛片 | 亚洲精品久久久久久久不卡四虎 | 久久久久久夜精品精品免费啦 | a级免费视频 | 天天综合网在线观看视频 | 欧美成人鲁丝片在线观看 | 尤里与露珠韩剧在线观看中文版 | 99热99色| 久久精品中文字幕不卡一二区 | 韩国理论午夜 | 99久久爱re热6在播放 | 亚洲最色网站 | 成人在线观看视频网站 | 色综合久久天天综线观看 | 亚洲熟女少妇一区二区 | 午夜色综合 | 一级毛片日韩a欧美视频 | 欧美高清一级啪啪毛片 | 91精品国产一区 | 97精品超碰一区二区三区 | 日日日日人人人夜夜夜2017 | 国产成人v视频在线观看 | 男男h黄漫画啪啪无遮挡 | 亚洲综合网站久久久 | 国产精品涩涩涩视频网站 | 欧美叉叉叉 | 美女国产精品 | 成年网站在线观看视频 | 国内拍拍自拍视频在线观看 | 免费观看啪啪黄的网站 | 精品国产乱码久久久久久浪潮 | 国产一级在线观看www色 | 欧美香蕉人人人人人人爱 | 欧美日韩无套内射另类 | 妖精视频黄| 午夜精品视频在线 | 久久九九有精品国产56 | 狠狠摸狠狠澡 | 无码国内精品久久人妻 | 淫片视频 | 大地资源中文第二页日本 |