目录

Cache 缓存实现类简单使用

Cache 缓存实现类

拿来当Redis用就行了,不过Hutool 缓存库主要是为了实现本地缓存;用在数据量不大,短期频繁访问的数据。

  1. FIFO(先进先出)缓存:按照数据进入缓存的顺序,最先进入缓存的数据会被最先移除。适用于简单的缓存场景,不考虑数据的访问频率。
  2. LFU(最不经常使用)缓存:根据数据的访问频率,最不经常使用的数据会被移除。适用于对缓存的访问模式有较好了解的场景。
  3. LRU(使用最近最少使用):LRU 缓存是一种缓存替换策略,当缓存达到其最大容量时,它会移除最近最少使用的条目,以便为新条目腾出空间。
  4. MRU(最近最常使用)缓存:根据数据的访问模式,最近最常使用的数据会被保留。适用于对缓存的访问模式有较好了解的场景。
  5. LFU-K 缓存:LFU-K 是 LFU 缓存的改进版本,它不仅考虑数据的访问频率,还考虑了最近的访问时间。这可以更准确地判断哪些数据应该被保留。
  6. ARC(Adaptive Replacement Cache)缓存:ARC 缓存结合了 LRU 和 LFU 的思想,根据最近的访问模式和频率自适应地调整缓存策略。适用于高性能和复杂的缓存场景。
  7. 二级缓存:同时使用多种不同类型的缓存,如本地内存缓存和分布式缓存,以提供更灵活和高效的缓存策略。

FIFOCache

先进先出,队列。主打一个公平公正。

因此先进去的先存储,然后缓存达到容量限制,最先进去的就被最先移除。

java 复制代码
import cn.hutool.cache.Cache;
import cn.hutool.cache.impl.FIFOCache;

private final Cache<, > cache = new FIFOCache<>(10);

cache.put();
cache.get();
cache.remove();

LRUCache

最近最少使用。(最近的访问时间)

当缓存达到其容量限制时,LRU 缓存会优先移除最近最少访问的条目

java 复制代码
import cn.hutool.cache.Cache;
import cn.hutool.cache.impl.LRUCache;

private final Cache<, > cache = new LRUCache<>(10);

cache.put();
cache.get();
cache.remove();

LFUCache

最不经常使用。

与LRU相比,它更看重访问频率。当缓存达到其容量限制时,LFU 缓存会优先移除访问频率最低的数据。

java 复制代码
import cn.hutool.cache.Cache;
import cn.hutool.cache.impl.LFUCache;

private final Cache<, > cache = new LFUCache<>(10);

cache.put();
cache.get();
cache.remove();
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
程序猿教你打篮球7 分钟前
【SpringCloud】认识微服务
spring·spring cloud·微服务
mrbone117 分钟前
C++-C++中的几种cast
java·开发语言·c++
我爱Jack40 分钟前
Spring Boot 配置文件
java·数据库·spring boot
椰椰椰耶1 小时前
【redis】主从复制:单点问题、配置详解、特点详解
java·数据库·redis
阿汤哥的程序之路1 小时前
Java 安装开发环境(Mac Apple M1 Pro)
java·python·macos
齐 飞1 小时前
JVM类加载过程详解
java·jvm·笔记
big凉笙墨染1 小时前
《网络安全学习者必看!Java序列化与反序列化深度解读》
java·后端·安全
独行soc1 小时前
2025年渗透测试面试题总结-某华为面试复盘 (题目+回答)
java·python·安全·web安全·面试·职场和发展·红蓝攻防
neoooo1 小时前
Redis 缓存击穿、穿透、雪崩问题及解决方案
java·spring boot·redis
web150854159351 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat