面试题答案
一键面试- FIFO(先进先出)策略:
- 适用场景:适用于对缓存数据新鲜度要求不高,但需要保证缓存空间有效利用的场景。比如日志记录系统,新的日志不断产生,旧的日志相对不那么重要,先进入缓存的日志可以先被淘汰,以腾出空间给新日志。
- LRU(最近最少使用)策略:
- 适用场景:广泛应用于各种需要优先保留近期使用过的数据的场景。例如浏览器缓存,用户近期访问过的网页资源更有可能再次被访问,因此使用LRU策略可以优先保留这些资源,提高缓存命中率。
- LFU(最不经常使用)策略:
- 适用场景:适合长期内访问频率较低的数据优先被淘汰的场景。比如一些低频访问的历史文档存储在缓存中,随着时间推移,如果其访问频率一直很低,就可以通过LFU策略将其淘汰,为更常用的数据腾出空间。
- 过期时间策略:
- 适用场景:适用于数据具有时效性的场景。如新闻资讯类应用的缓存,新闻内容有一定的有效期,超过这个时间后就不再具有价值,设置过期时间可以及时清理旧新闻,保证缓存中的数据都是较新且有意义的。