在设计缓存时是否必加过期时间

设计上是否所有的缓存都需要设置过期时间,大厂qa在每次压测前都需要预热缓存,如果没有设置缓存时间,那就不需要预热了,我是反推的,从整体设计架构角度来讲,是否有过期时间是最好的,至少避免人为的可能有一些不重要的数据忘了设置过期时间而一直在缓存中,大佬们讲讲,怎么好,怎么不好,什么场景

阅读 4.6k
3 个回答

主要看场景

永久缓存: 比如网站的配置数据,这种数据读取频率高,且不会存在太多

临时缓存: 比如用户数据。这种数据仅用户使用的时候读取频率高, 且用户越多数据越多

有过期时间最好,通常过期时间设计都是固定幅度内但是随机的,降低产生雪崩效应。建议设计时候应该提供两种情况,一种永久缓存变更小的数据不设过期时间。大部分业务数据都是需要提供过期时间,至于过期都幅度根据自身的业务需求设定。缓存设计这种需不需要过期时间应该是提供对应策略给到业务开发人员让他们自己选择是最好的。

楼上说的对,缓存应该根据不同的场景进行设计

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题