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

张家港网站开发培训广告代理海外网站推广的公司

张家港网站开发培训广告代理,海外网站推广的公司,logo设计在线制作神器,怀化建设公司网站问:什么是缓存击穿 ? 怎么解决 ? 答:缓存击穿的意思是对于设置时间过期的key,当key过期时,恰好有大量对这个key的请求发送过来,此时这些请求发现这个key过期,就会打到数据库加载数据并设置缓存&#xff…

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

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

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

互斥锁

互斥锁大概思路如下:

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

逻辑过期

逻辑过期大概思路如下:

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

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

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

最后在给面试官总结

当然两种方案各有利弊:

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

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

http://www.hrbkazy.com/news/46007.html

相关文章:

  • 为客户创建网站必须软文的本质是什么
  • 视频教做家常菜的网站网站推广方案范文
  • 网站白名单是什么意思一键优化清理加速
  • 代做课题网站河北百度seo
  • 做音乐网站用什么程序广告网络营销
  • 中建集团的重要事件宁波seo博客
  • 南昌微网站建设营销网站的宣传、推广与运作
  • 女的和男做那个视频网站汕头seo优化公司
  • 如何与对方网站做相互链接2024年8月爆发新的大流行病毒吗
  • 装修网站建设互站网
  • 济源网站建设公司外贸推广具体是做什么
  • 亚马逊注册没有公司网站怎么做开车搜索关键词
  • 发布编程任务平台营销型网站建设优化建站
  • 设计免费素材网站有哪些四川网站制作
  • 专业的网页制作服务好深圳知名seo公司
  • 龙岗 网站建设seo是指搜索引擎营销
  • 新华美玉官方网站在线做seo搜索引擎优化排名
  • 临时网站怎么做中国局势最新消息今天
  • 百度统计网站速度诊断工具临沂做网络优化的公司
  • 武汉网站建设S小蝌蚪互联搜索引擎竞价推广的优势
  • 什么网站可以做设计赚钱吗提高工作效率的软件
  • 青岛网站设计电话官网关键词优化价格
  • 宁乡网站开发市场调研报告怎么写
  • 电脑做ppt一般下载哪个网站好天津百度网络推广
  • 英语门户网站织梦源码必应搜索
  • 徐州制作公司网站怎样优化网站排名
  • 创办网站要多少钱张雪峰谈广告学专业
  • 徐州信息网最新消息seo优化工具有哪些
  • ui设计师自我介绍昆明seocn整站优化
  • 网站建设与维护毕业论文运营培训班学费大概多少