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

吉林网络推广代运营seo技术助理

吉林网络推广代运营,seo技术助理,投资建设集团网站,什么网站做批发文章目录 一、缓存击穿原理正常情况: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.cadmedia.cn/news/11853.html

相关文章:

  • 2019年做网站3000行业关键词
  • 怎么把网站维护今日财经最新消息
  • c2c电子商务网站建设全球中文网站排名
  • 福田网站建设哪家好百度一下首页登录
  • 网站建设 清远魔方网络google登录
  • 网站服务器租一个月网络关键词优化软件
  • 做网站的平台有哪些常州网络推广平台
  • 简单的网站建设合同书电子商务网站建设案例
  • 网站建设制作模板网站怎么做营销型公司网站建设
  • 同仁微网站建设工作室公众号引流推广平台
  • 大气dede织梦企业广告网络公司工作室网站模板源码网站开发一般多少钱
  • 平凉市建设局门户网站百度关键词优化大师
  • 独立商城系统网站建设等服务百度首页纯净版
  • 网站建设设计方案格式云搜索app官网
  • 朝阳港网站建设方案金华百度seo
  • 网站建设与维护心得体会免费个人网站平台
  • 湛江免费制作网站seo页面优化的方法
  • 新网站建设运营年计划中国站免费推广入口
  • 永久免费网站谷歌网页版入口在线
  • 北京电商网站开发多少钱百度手机网页版入口
  • 专业建站策划网络营销就是seo正确吗
  • 昆明百度小程序重庆seo小潘大神
  • 微信app官方下载安装seo外推
  • 我想网站建设淘宝seo什么意思
  • 如何做网站内链优化sem是什么基团
  • 黄金网站软件app大全视频移动营销
  • 科技期刊淮北seo排名
  • 网站建设中 html5 模板私域营销
  • 怎么做网站门户个人网站制作源代码
  • 滁州网站建设珠海seo排名收费