当前位置: 首页 > news >正文

第十三天缓存一致性篇

目录

一、缓存的应用场景

二、缓存数据一致性如何保证?

三、缓存的最终一致性解决方案:


一、缓存的应用场景

1、缓存中的数据不应该是实时性一致性要求超高的,
通过缓存加上过期时间保证每天拿到的数据都是最新的即可。
2、如果实时性要求特别高,直接查询数据库即可。
3、一般只缓存读多写少一致性要求不高的数据
4、如果想要完美实时解决缓存一致性的问题,可以通过cannl+binglog来解决,但一般不推荐使用这种方法,除非在大数据实时更新场景下。

二、缓存数据一致性如何保证?

1、双写模式


修改完数据库之后,然后更新缓存。

往缓存中放入最新的数据。但可能存在脏读的问题。
这种策略的优点是可以保证缓存数据的实时性,但是需要考虑并发更新造成脏读的问题。
在高并发场景下,可能会出现多个线程同时更新缓存数据的情况,导致数据的不一致性。

 

2、失效模式

修改完数据库之后,直接删除缓存。

这种策略的优点是简单易行,但是可能会导致缓存击穿的问题,即在缓存失效的瞬间,有
大量的并发请求同时访问数据库,导致数据库压力过大。


小结:双写和失效模式都存在缓存不一致的缺点。

 

三、缓存的最终一致性解决方案


1、缓存的所有数据都有过期时间,数据过期下一次查询触发主动更新
2、读写数据的时候,加上分布式的读写锁保证线程安全(经常写,经常读)

http://www.lryc.cn/news/59394.html

相关文章:

  • VSCode使用Remote SSH远程连接Linux服务器【远程开发】
  • 人工智能专题-知识表示
  • 各种过滤器使用场景
  • 第04章_IDEA的安装与使用(下)
  • 2023年全国最新道路运输从业人员精选真题及答案51
  • Baumer工业相机堡盟工业相机如何通过BGAPISDK显示Bayer彩色格式的图像(C#)
  • Unity云渲染,加移动
  • ASP一个简单的网上教务系统模型的设计与实现
  • 黑马点评实战篇问题总结
  • C++ 并发编程
  • 5V的LDO电源的WCCA分析-可靠性分析计算过程
  • TensorFlow 深度学习第二版:6~10
  • C++标准库 -- 顺序容器 (Primer C++ 第五版 · 阅读笔记)
  • JavaEE初阶学习:文件操作
  • 【外设零基础通用教程】GPIO 下
  • 在window上安装python
  • [hive SQL] 预约业务线
  • LNMP架构和论坛搭建以及一键部署
  • RK3568平台开发系列讲解(设备驱动篇)V4L2程序实现流程
  • 人工智能中的顶级会议
  • 【Python OpenCV】第六天:图像的基础操作
  • 2022年陕西省职业院校技能大赛“网络搭建与应用”赛项竞赛试题
  • 面经-01
  • c/c++:visual studio的代码快捷键,VS设置自定义默认代码,使用快捷键
  • mysql基本语法
  • 出苗率相关论文
  • 【Kubernetes】StatefulSet对象详解
  • 选择排序与堆排序
  • AI绘图体验:想象力无限,创作无穷!(文生图)
  • 【图片分割】【深度学习】Windows10下SAM官方代码Pytorch实现