设计上是否所有的缓存都需要设置过期时间,大厂qa在每次压测前都需要预热缓存,如果没有设置缓存时间,那就不需要预热了,我是反推的,从整体设计架构角度来讲,是否有过期时间是最好的,至少避免人为的可能有一些不重要的数据忘了设置过期时间而一直在缓存中,大佬们讲讲,怎么好,怎么不好,什么场景
设计上是否所有的缓存都需要设置过期时间,大厂qa在每次压测前都需要预热缓存,如果没有设置缓存时间,那就不需要预热了,我是反推的,从整体设计架构角度来讲,是否有过期时间是最好的,至少避免人为的可能有一些不重要的数据忘了设置过期时间而一直在缓存中,大佬们讲讲,怎么好,怎么不好,什么场景
有过期时间最好,通常过期时间设计都是固定幅度内但是随机的,降低产生雪崩效应。建议设计时候应该提供两种情况,一种永久缓存变更小的数据不设过期时间。大部分业务数据都是需要提供过期时间,至于过期都幅度根据自身的业务需求设定。缓存设计这种需不需要过期时间应该是提供对应策略给到业务开发人员让他们自己选择是最好的。
2 回答3.1k 阅读
1 回答1.9k 阅读✓ 已解决
2 回答1.2k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
791 阅读
1 回答598 阅读
主要看场景
永久缓存: 比如网站的配置数据,这种数据读取频率高,且不会存在太多
临时缓存: 比如用户数据。这种数据仅用户使用的时候读取频率高, 且用户越多数据越多