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

济南著名网站建设微信导航网站有用吗

济南著名网站建设,微信导航网站有用吗,品牌网站开发特点,网站托管服务商查询问:什么是缓存击穿 ? 怎么解决 ? 答:缓存击穿的意思是对于设置时间过期的key,当key过期时,恰好有大量对这个key的请求发送过来,此时这些请求发现这个key过期,就会打到数据库加载数据并设置缓存&#xff…

:什么是缓存击穿 ? 怎么解决 ?

:缓存击穿的意思是对于设置时间过期的key,当key过期时,恰好有大量对这个key的请求发送过来,此时这些请求发现这个key过期,就会打到数据库加载数据并设置缓存,这个时候这些大量的并发请求可能就会在瞬间压倒数据库。

常见的解决方案有两种:一是使用互斥锁,二是可以设置当前key逻辑过期。

互斥锁

互斥锁大概思路如下:

当发现某个key过期时,不立即更新。先使用Redis中的setnx去设置一个互斥锁。当多个大量的请求进来时,首先要去获取获取互斥锁,当获取锁成功时,才会去查询数据库更新缓存。而那些获取锁失败的请求就会重试查询缓存。

逻辑过期

逻辑过期大概思路如下:

当存入key时给该key添加一个逻辑过期字段,不给当前key设置过期时间。

当请求进来时,从Redis取出数据后判断数据是否逻辑过期

如果数据已逻辑过期,就会通过Redis的setnx获取一个互斥锁,当获取锁成功后,就会开通另外一个线程来查询数据库更新缓存,当前线程便直接返回未更新的旧数据。反之当获取锁失败时,直接返回未更新的旧数据即可。

最后在给面试官总结

当然两种方案各有利弊:

如果选择数据的强一致性,建议使用分布式锁的方案,性能上可能没那么高,获取锁需要等待,也有可能产生死锁的问题

如果选择key的逻辑删除,则优先考虑的高可用性,性能比较高,但是数据同步这块做不到强一致。

http://www.yayakq.cn/news/362042/

相关文章:

  • 北京营销网站制作刚刚做的网站怎么排名
  • 网站建设在马来西亚室内设计网站都有哪些平台
  • 服务器与网站网站免费网站免费陪玩
  • 建立网站 域名 服务器吗注册深圳公司的好处
  • a站网址顺德销售型网站建设
  • 专业网页设计和网站制作公司网站类网站开发犯罪吗
  • 永清县建设局 网站wordpress 自定义字段 调用
  • 美团做团购网站wordpress 手机版主题
  • 网站建设无法访问网站榆林医疗网站建设
  • 网站建设好多钱家纺网站模板
  • php网站开发人员域名注册是什么意思呢
  • 网站名称写什么为什么建设的网站有时候访问慢6
  • 南通六建网站做网站微信朋友圈应该怎么发
  • 网站建设带数据库模板下载数字化营销模式及特点
  • 专做婚纱店设计网站我的网站被黑了
  • 做生鲜管理系统的网站公司网站自己怎么建立
  • 网站seo三要素免注册制作网站
  • 设计素材网站哪个最好免费一分钟企业宣传片怎么拍
  • vs做的小型网站例google网站
  • 企业网站模板建站seo黑帽是什么
  • 网站首页百度收录怎么做网址ip地址域名
  • 游戏是怎么做的视频网站网页设计尺寸详解
  • 丽水市龙泉市网站建设公司付费下载 wordpress
  • 青岛网站做网站多少钱佛山营销型建设网站
  • 页面好看的蛋糕网站做网站美工未来规划
  • 公司网站的建设怎么做软件源码购买一般在哪个网站
  • 免费招聘的网站上海到北京的机票
  • 重庆网站建设重庆最加科技wordpress 自动缩略图
  • 医疗网站的运营青岛建网站人
  • 厦门哪里有教网站建设高端手机排行榜2023