MST

星途 面试题库

面试题:缓存设计之中等难度:移动应用中缓存过期策略选择

在移动应用后端开发的缓存设计里,假设你要缓存用户的基本信息(很少变动),请阐述你会如何选择缓存过期策略,以及每种策略可能存在的优缺点。
40.9万 热度难度
后端开发缓存设计

知识考点

AI 面试

面试题答案

一键面试

固定过期时间策略

  • 选择原因:用户基本信息很少变动,设置固定过期时间可确保缓存数据定期更新,防止数据长期未更新导致的不一致问题。
  • 优点:实现简单,易于控制缓存数据的生命周期;能在一定程度上保证数据的时效性。
  • 缺点:如果设置的过期时间过长,在用户信息变动时,缓存数据不能及时更新,会导致数据不一致;若过期时间过短,则频繁更新缓存,增加系统开销。

基于事件驱动的过期策略

  • 选择原因:针对用户基本信息变动少的特点,当用户信息发生实际变动(如修改姓名、联系方式等)这一事件触发时,主动让缓存过期,可精准保证缓存数据与数据库数据的一致性。
  • 优点:能实时保证缓存数据的准确性,只有在数据真正变动时才更新缓存,减少不必要的缓存更新操作,降低系统开销。
  • 缺点:需要额外监听数据变动事件,增加了系统复杂度;如果事件监听机制出现故障,可能导致缓存数据不能及时过期,出现数据不一致。

惰性过期策略

  • 选择原因:结合用户基本信息很少变动的特性,在每次访问缓存时检查数据是否过期,不过期则直接返回,过期则从数据库加载最新数据并更新缓存。可减少不必要的过期检查开销。
  • 优点:只有在数据被访问时才进行过期检查和更新操作,减少了系统在后台定期检查过期数据的开销;对于很少被访问的数据,不会浪费资源去主动更新缓存。
  • 缺点:在数据过期后到下次访问期间,返回给用户的是过期数据,可能影响业务;如果大量数据同时过期且被集中访问,会导致数据库压力瞬间增大,甚至引发缓存雪崩问题。