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

缓存异常与一致性

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

http://www.kler.cn/a/232017.html

相关文章:

  • Excel使用-弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接”的发生与处理
  • 使用Redis的一些经验总结
  • Python学习从0到1 day29 Python 高阶技巧 ⑦ 正则表达式
  • vue项目PC端和移动端实现在线预览pptx文件
  • 力扣 最长公共前缀-14
  • 鸿蒙next ui安全区域适配(刘海屏、摄像头挖空等)
  • 【GoLang入门教程】Go语言几种标准库介绍(五)
  • Linux的Vi编辑器显示行数
  • Vue中的自定义参数校验
  • cesium mapboxgl+threebox glb 朝向问题
  • 跨境电商新风潮:充分发挥海外云手机的威力
  • LeetCode、62.不同路径的数目(一)【简单,动态规划或递归】
  • 零售新业态,让老牧区焕发新生命
  • 【服务器数据恢复】HP EVA虚拟化磁盘阵列数据恢复原理方案
  • SpringBoot之事务源码解析
  • 使用网关过滤器,根据业务规则实现微服务动态路由
  • Java并发基础:LinkedTransferQueue全面解析!
  • Maven私服部署与JAR文件本地安装
  • 相机图像质量研究(10)常见问题总结:光学结构对成像的影响--光圈
  • Office恢复旧UI|Office UI问题|Word UI|小喇叭找不到
  • 《动手学深度学习(PyTorch版)》笔记7.2
  • Vue3.0(五):Vue-Router 4.x详解
  • 推动海外云手机发展的几个因素
  • 前端开发之deepmerge的使用和示例(对象的深度合并)
  • Docker-Learn(二)保存、导入、使用Docker镜像
  • ChatGPT 3.5与4.0:深入解析技术进步与性能提升的关键数据