文章目录
Hutool - 缓存相关,缓存策略以及示例代码
1、缓存策略
- 先进先出策略
- 概述:元素不停的加入缓存直到缓存满为止,当缓存满时,清理过期缓存对象,清理后依旧满则删除先入的缓存(链表首部对象)。
- 优点:简单快速
- 缺点:不灵活,不能保证最常用的对象总是被保留
- 最少使用率策略
- 概述:根据使用次数来判定对象是否被持续缓存(使用率是通过访问次数计算),当缓存满时清理过期对象,清理后依旧满的情况下清除最少访问(访问计数最小)的对象并将其他对象的访问数减去这个最小访问数,以便新对象进入后可以公平计数
- 最近最久未使用策略
- 概述:根据使用时间来判定对象是否被持续缓存,当对象被访问时放入缓存,当缓存满了,最久未被使用的对象将被移除。此缓存基于LinkedHashMap,因此当被缓存的对象每被访问一次,这个对象的key就到链表头部
- 优点:简单且速度快,比FIFO有一个显著优势是经常使用的对象不太可能被移除缓存
- 缺点:当缓存满时