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

广州手机网站定制咨询西安百度推广开户多少钱

广州手机网站定制咨询,西安百度推广开户多少钱,企业网站自助建设,自己做网站 搜索功能开发文章目录 一、缓存击穿原理正常情况:Redis缓存流程问题引出:Redis缓存击穿问题 二、解决方案方案一:互斥锁方案二:逻辑过期 一、缓存击穿原理 正常情况:Redis缓存流程 查询数据时,优先查询Redis&#xff1…

文章目录

  • 一、缓存击穿原理
      • 正常情况:Redis缓存流程
      • 问题引出:Redis缓存击穿问题
  • 二、解决方案
      • 方案一:互斥锁
      • 方案二:逻辑过期


一、缓存击穿原理

正常情况:Redis缓存流程

查询数据时,优先查询Redis:

  • 命中:直接返回查询结果
  • 未命中:查询数据库,返回数据并将数据写入到Redis中缓存起来方便下次查询

在这里插入图片描述

问题引出:Redis缓存击穿问题

给某一个key设置了过期时间,当key过期的时候,恰好这时间点对这个key有大量的并发请求过来,这些并发的请求可能会瞬间把数据库压垮

在这里插入图片描述


二、解决方案

方案一:互斥锁

并发请求时:
请求1(线程1) 查询缓存中的数据,若未命中,则会获取互斥锁,然后查询数据库并写入缓存。
在数据写入缓存期间,其他线程(线程2)没查到缓存中的数据,也获取不到互斥锁时,则会进入休眠状态,一段时间后再重新查询缓存数据,如此反复
直到请求1(线程1) 将数据缓存完才会释放锁
数据缓存并释放锁后,此时其他线程(线程2)会在不断重试的过程中直到命中缓存数据,才会返回查询数据

在这里插入图片描述

  • 优点:安全性高 强一致性
  • 缺点:性能差 (因为其他线程都要休眠等待,直到命中缓存数据)

方案二:逻辑过期

不设置过期时间,采用逻辑过期时间

并发请求时:
请求1(线程1) 查询缓存数据,发现逻辑过期,则获取互斥锁,开启新线程后就直接返回过期数据。
在新线程中查询数据库并重新写入缓存,然后释放锁
在数据写入缓存期间,其他线程(线程3) 查询缓存数据,发现逻辑过期,则直接返回过期数据。
在数据写入缓存并释放锁后,**其他线程(线程4)**查询缓存数据,命中数据并未过期,则直接返回查询数据。

在这里插入图片描述

  • 优点:
    • 高可用
    • 性能高 直接返回结果,无需等待缓存重新写入(更新)
  • 缺点:不考虑数据一致性
http://www.dt0577.cn/news/56540.html

相关文章:

  • 网站建设需招聘什么专业人免费的推广网站
  • 做联轴器的网站抖音关键词优化排名
  • 网站商城具有哪些功能模块网站seo优化技巧
  • 网站积分的作用网络营销方式对比分析
  • 合肥网站建设首选众龙sem推广竞价托管
  • 如何用discuz做网站凡科建站和华为云哪个好
  • 青岛网站开发重要新闻今天8条新闻
  • 电器网站建设太仓网站制作
  • 建筑网站源码网站seo优化有哪些方面
  • 刷赞网站推广qq免费seo优化工具软件
  • 网站开发工程师待遇淄博域名注册
  • 网站定制开发需要什么资质品牌营销推广要怎么做
  • 现在都用什么软件搜索附近的人优化方案的格式及范文
  • 表白网站制作软件手机凡科网小程序
  • 建筑公司网站案例seo网站优化师
  • 做网站后台搭建都用什么百度网页版浏览器入口
  • 东莞网站推广电话ip域名查询地址
  • 无为县住房和城乡建设局网站首页新闻最新头条10条
  • 皋兰网站建设平台网站运营是做什么的
  • 南京 高端网站制作宁波网站推广联系方式
  • 网站开发费用报价搜索引擎营销经典案例
  • 怎么看网站是否做公安备案江苏seo网络
  • 重庆哪里有做淘宝网站推广的百度广告代理商加盟
  • 台州网站专业制作2345软件为什么没人管
  • 绿色健康网站模板关键词名词解释
  • 长春网站制作公司源码之家
  • 永年县网站seo自学教程推荐
  • h5制作的网站网络推广视频
  • 怎样在网站做咨询医生挣钱搜索引擎推广培训
  • 沈阳网站建设推广平台鼓楼网站seo搜索引擎优化