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

唐山的网站建设天津市建设厅建筑业信息网

唐山的网站建设,天津市建设厅建筑业信息网,百度有什么办法刷排名,一起做网店白沟关注我,升职加薪就是你! 当我们对数据进行修改的时候,到底是先删缓存,还是先写数据库? 1、如果先删缓存,再写数据库:在高并发场景下,当第一个线程删除了缓存,还没来得及写…

关注我,升职加薪就是你!
当我们对数据进行修改的时候,到底是先删缓存,还是先写数据库?
1、如果先删缓存,再写数据库:在高并发场景下,当第一个线程删除了缓存,还没来得及写数据库,第二个线程来读取数据,会发现缓存中的数据为空,那就会去读数据库中的数据(旧值,脏数据),读完之后,把读到的结果写入缓存(此时,第一个线程已经将新的值写到缓存里面了),这样缓存中的值就会被覆盖为修改前的脏数据。
解决方案:
(1)先操作缓存,但是不会删除缓存。将缓存修改为一个特殊值(-999)。客户端读缓存时,发现是默认值,就休眠一小会,再去查一次Redis。
此方案存在的缺点:
a. 特殊值对业务有侵入。
b. 休眠时间内,可能会存在多次重复,对性能有影响。
(2)延时双删。先删除缓存,然后写数据库,休眠一小会,再次删除缓存。
此方案存在的缺点:如果数据写操作频繁,同样还是会有脏数据的问题。
总结:在这种方式下,通常要求写操作不会太频繁。
2、先写数据库,再删缓存:如果数据库写完了之后,缓存删除失败,数据就会不一致。
解决方案:
(1)给缓存设置一个过期时间。
此方案存在的问题是:过期时间内,缓存数据不会更新。
(2)引入MQ,保证原子操作。两个消费者,一个消费者负责删除Redis ,一个消费者负责写数据库。
解决方案:将热点数据缓存设置为永不过期,但是再value当中写入一个逻辑上的过期时间,另外起一个后台线程,扫描这些key,对于已逻辑上过期的缓存,进行删除。
总结:始终只能保证一定时间内的最终一致性。
关注我,升职加薪就是你!

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

相关文章:

  • 网站建设哪家合适网页设计与网站组建
  • 手机网站用什么软件做的好怎么自己做网站怎么赚钱
  • c 做网站的六大对象网站建设英文字体
  • 可以做简历的网站哈尔滨市工程建设项目网
  • 学做窗帘的网站部门网站建设管理经验交流材料
  • 网站联系我们的地图怎么做编程是学什么东西的
  • 网页设计实验报告单模板常德seo招聘
  • 免费网站自助建站网站搭建费用
  • ios移动网站开发工具wordpress 应用商店模板
  • app网站建设阿里巴巴哈尔滨建工建设有限公司
  • 创建好网站如何把浏览英文网站建设方案 ppt模板
  • 全国做临期进口食品的网站如何快速学会做网站
  • 网站的跟目录网站内部优化的方法
  • 招商网站建设免费个人crm管理系统
  • 公司建网站费用做外贸的都有哪些网站
  • 莘县做网站推广线下销售怎么做推广
  • 网站空间 .de网易企业邮箱怎么认证
  • 一个网站的基调哪些是个人网站
  • 如何在海外推广网站微信注册网站
  • 屯济宁做网站公司这么登入wordpress
  • 中山精品网站建设渠道怀宁县住房和建设局网站
  • 手表网站妨水iis网站asp.net部署
  • 临清网站制作网站图片优化
  • 网站制作策划建设大纲金华专业做网站公司
  • 在柬埔寨做网络销售推网站宁波比较好的外贸公司
  • 杭州网站建设专业公司网站建设包含那些 内容
  • 中国十大门户网站排行wordpress 外部视频
  • 食品建设网站前的市场分析布局网站开发
  • 定制网站建设宝安西乡汉中市建设工程项目审批管理系统
  • 企业网站建设包括哪些优跃达官网网站建设项目