一开始看很多人说更新数据库后删除缓存,然后有人说是更新缓存时需要遍历list或者hash查找导致慢,我!@#&((&(&^%&%&m&*&()&,然后百度一堆。。。。。。。,然后用Bing搜索找到了想要的结果,就想着总结一下

开始正文!

业务场景

编辑新建了一篇新闻,在数据库news表中存储新闻信息,但是客户端查询新闻到缓存的时候会关联多个表,有评论信息、浏览量、点赞、点击量等等,如果在数据添加新闻后,然后为了更新缓存查出这么多信息再插入,岂不是很浪费时间??如果这个新闻添加到缓存中,但是没有用户去看,是不是浪费内存???由于编辑可能需要频道的修改新闻,但每次更新完数据库再更新缓存,假设一分钟更新10次、100次、1000次,但是这个新闻其实根本没人看,what??此时不就浪费更新缓存的时间?浪费内存??

复杂业务场景下:如果缓存的内容关联多个表,为了缓存查询关联表,此时更新缓存没有必要,而根据key删除的话比较快。

提升缓存利用率:如果更新缓存后,缓存却并没有用,这就白白浪费内存了,而删除的话,用到缓存才去算缓存

为什么是先更新数据库再删除缓存,而不是更新缓存?相关推荐

  1. ue 清理缓存_【PM项目管理系统】PM安装更新客户端、删除UE及清理IE缓存操作手册...

    第 1 页 共 9 页 PM 安装更新客户端.删除UE 及清理IE 缓存操作手册 1.登录地址 ⑴登陆地址http://www.doczj.com/doc/45b822bf0c22590103029d ...

  2. redis进阶:mysql,redis双写一致性,数据库更新后再删除缓存就够了吗?

    0. 引言 最近线上的一个状态修改功能出现了问题,一开始是运营找了过来,运营告知某条数据的状态已经开启了的,但是实际使用起来还是没有生效,于是拿到这个问题后,首先就去数据库查了这条数据,发现确实如他所 ...

  3. 两难!先更新数据库再删缓存?还是先删缓存再更新数据库?

    前言 当我们在做数据库与缓存数据同步时,究竟更新缓存,还是删除缓存,究竟是先操作数据库,还是先操作缓存?本文带大家深度分析数据库与缓存的双写问题,并且给出了所有方案的实现代码方便大家参考. 本篇文章主 ...

  4. 为什么你的缓存更新策略是先更新数据库后删除缓存,讲讲其他的情况有什么问题?...

    2019独角兽企业重金招聘Python工程师标准>>> 问题:怎么保持缓存与数据库一致? 要解答这个问题,我们首先来看不一致的几种情况.我将不一致分为三种情况 数据库有数据,缓存没有 ...

  5. MySQL删除退出后数据未更新,mysql一不小心删除了数据或更新了数据没有加where 条件...

    mysql一不小心删除了数据或更新了数据没有加where 条件 1,show variables like '%log_bin%'; 2.show master logs; 3.show master ...

  6. python更新数据库表的时间字段_python更新数据库中某个字段的数据(方法详解)

    连接数据库基本操作,我把每一步的操作是为什么给大家注释一下,老手自行快进. 请注意这是连接数据库操作,还不是更新. import pymysql #导包 #连接数据库 db = pymysql.con ...

  7. typeorm 更新_再热我们也在更新 - Midway 8 月内容汇总

    杭州的 8月一直是火热的,最近一直在全国热门城市霸榜,恩,夏天的味道. 下面来看看 Midway 体系 8月更新 . 头条 发布新一代云端一体研发方案 Midway Serverless 在 818 ...

  8. 到底是先更新数据库还是先更新缓存?

    很多小伙伴最近都在问我,在系统中引入缓存后,当向数据库中写入数据时,是先写数据库还是先写缓存呢?先写数据库和先写缓存有什么区别吗?今天,我们就一起来聊聊这个话题. 从本质上讲,无论是先写数据库还是先写 ...

  9. 高并发场景下,到底先更新缓存还是先更新数据库?

    在大型系统中,为了减少数据库压力通常会引入缓存机制,一旦引入缓存又很容易造成缓存和数据库数据不一致,导致用户看到的是旧数据. 为了减少数据不一致的情况,更新缓存和数据库的机制显得尤为重要,接下来带领大 ...

最新文章

  1. nginx负载均衡的session共享问题的解决方法
  2. VC6在64位Win7下调试无法退出的问题(缺少TLLOC.DLL和DM.dll)
  3. Stack Pointer Tracker
  4. 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型
  5. java 数组 内存_图解Java数组的内存分配
  6. FormData对象
  7. 这算抄百度?Google为信息流告别简洁搜索框,也押注短视频
  8. 设计模式的皇后-观察者模式
  9. 微软发布5月补丁星期二:3个0day,1个蠕虫
  10. 基于Android平台的三维实时全景地图设计与实现(一)
  11. C语言实现QQ刷屏,绝对实用
  12. KD树(网易游戏笔试)
  13. win7计算机系统减肥,Win7系统如何减少C盘空间,给系统盘瘦身
  14. VBA实战技巧精粹之按某列相同数据分入同一个sheet
  15. Ubuntu下ping命令提示域名解析失败以及无法打开网页
  16. 平均差误法中存在哪些误差?如何平衡这些误差?|小白心理-312/347考研答疑
  17. 截屏与截长图功能的实现
  18. 浙大pat 1017
  19. Mac 配置Git与常用命令
  20. ubuntu 18.04 开启rc.local

热门文章

  1. eclipse mat 打开dump文件,明明大小1G,打开后却只有不到100M.其他的去哪了
  2. java apktoo_apktool.jar
  3. 现代软件工程讲义 0 课程概述
  4. Android插u盘自动执行,android tv box ---- 插入u盘直接播放指定文件夹中的视频
  5. android里canvas视频帧,移动端用canvas截取视频封面,如何不截取第一帧,而是截取其它的帧?...
  6. python创建数据库表_Python 操作数据库(1)SQL基础
  7. python的print输出_python中的print()输出
  8. 【LeetCode笔记】155. 最小栈(Java、栈)
  9. 微软2022服务器,​微软公开地分享了即将发布的WindowsServer 2022的特性
  10. mysql更新代码_mysql update语句的用法