计算机基础--缓存策略:缓存写入策略,过期策略,更新策略,淘汰策略

缓存策略 就像你在超市存包时的“存包规则”,决定了“存什么东西”“存多久”“什么时候更新”“满了怎么处理”。简单来说,就是计算机系统为了高效使用缓存(临时存储数据的地方)而制定的一套规则。

为什么需要缓存策略?

  • 速度快:缓存通常比硬盘、网络等获取数据的方式快很多(比如内存缓存比数据库快几十倍)。
  • 省资源:减少对服务器、硬盘的频繁访问,节省流量和性能。
  • 但问题来了:如果缓存里的数据太久没更新,可能会变成“过期面包”(数据不一致);如果缓存存满了不清理,会像塞满杂物的抽屉一样无法使用。
    所以需要策略来管理缓存,让它又快又准!

常见的缓存策略有哪些?

1. 存什么数据?(缓存写入策略)
  • 哪些数据该存?
    • 经常用的数据:比如社交App的用户头像(每天看很多次)。
    • 计算复杂的数据:比如报表统计结果(算一次要很久,存起来重复用)。
    • 静态数据:比如App的配置文件(很少变化)。
  • 哪些数据不存?
    • 偶尔用一次的数据:比如用户一年才改一次的密码。
    • 实时变化的数据:比如股票价格(刚存就变了,不如直接查最新的)。
2. 存多久?(过期策略)

给缓存数据设置一个“保质期”,到期后自动删除或更新:

  • 固定时间过期(TTL):比如首页数据存30分钟(30分钟后自动过期,下次访问重新加载最新的)。
  • 根据数据更新频率过期:比如新闻列表每10分钟更新一次,缓存就设为10分钟。
  • 手动过期:当服务器数据更新时,主动通知缓存“这个数据过期了,删掉吧”(比如用户修改了头像,立刻清除旧头像的缓存)。
3. 怎么更新数据?(更新策略)
  • 先更新缓存,再更新数据库:适合写操作少、读操作多的场景(比如商品详情页)。
  • 先更新数据库,再更新缓存:确保数据库和缓存一致,但如果更新缓存失败,可能导致数据不一致。
  • 懒更新:缓存过期后,下次读取时再更新(类似“饿了再做饭”,适合数据不常用的场景)。
4. 缓存满了怎么办?(淘汰策略)

当缓存空间不够时,按规则删除旧数据:

  • 最近最少使用(LRU):删掉“很久没被用过”的数据(比如你一个月没看的视频缓存)。
  • 最不常用(LFU):删掉“使用次数最少”的数据(比如你只打开过一次的冷门功能界面)。
  • 先进先出(FIFO):像排队一样,先存进去的先删掉(适合数据时效性不强的场景)。

生活中的类比:外卖App的缓存策略

假设你用外卖App点奶茶:

  1. 存什么?
    • 缓存你的收货地址、常用支付方式(经常用)。
    • 不缓存订单实时状态(每分钟都可能更新,存了也没用)。
  2. 存多久?
    • 首页的“热门奶茶”缓存30分钟(商家可能半小时更新一次活动)。
  3. 满了删什么?
    • 删掉你三个月没点过的店铺的推荐数据(LRU策略)。
  4. 怎么更新?
    • 当你手动刷新页面时,强制更新缓存(手动触发更新)。

总结:缓存策略的核心目标

  • :让常用数据快速被获取。
  • :避免拿到过期数据(比如别人改了昵称,你还看到旧的)。
  • 省资源:不存无用数据,及时清理“垃圾”。

理解这些策略,就能明白计算机如何像聪明的管家一样管理缓存啦!

你可能感兴趣的:(计算机复习,缓存)