MST

星途 面试题库

面试题:缓存设计之缓存失效策略对比基础

请简要阐述时间驱动和事件驱动的缓存失效策略各自的原理,并举例说明在什么场景下适合使用时间驱动策略,什么场景下适合使用事件驱动策略。
29.8万 热度难度
后端开发缓存设计

知识考点

AI 面试

面试题答案

一键面试

时间驱动缓存失效策略原理

设定一个固定的时间周期,当缓存数据在缓存中存在的时间达到该设定周期后,缓存自动失效。例如设置缓存有效期为1小时,那么1小时后无论该缓存数据是否被使用,都会失效。

事件驱动缓存失效策略原理

当特定的事件发生时,才会使缓存失效。这些事件可以是数据的更新、删除等操作。比如数据库中某条记录被更新,就触发与之相关的缓存失效。

适合时间驱动策略的场景

  • 新闻资讯类:新闻内容的时效性较强,但短期内不会频繁变动。比如某新闻网站缓存新闻文章,设置缓存时间为1小时,在这1小时内用户访问该新闻,直接从缓存获取,提高访问速度,1小时后缓存失效,重新从数据库获取最新内容。
  • 统计报表类:例如每月生成的销售统计报表,在一个月内数据相对稳定,可设置缓存有效期为1个月,期间用户查询报表从缓存获取,提升查询效率。

适合事件驱动策略的场景

  • 电商商品详情页:当商品信息(如价格、库存)发生变化时,立即使商品详情页的缓存失效,保证用户看到的是最新商品信息。
  • 社交平台个人资料页:当用户修改个人资料(如昵称、头像),立刻触发个人资料页缓存失效,确保其他用户查看该用户资料时获取到最新内容。