来源:开源小分队 大家好,本地我是缓存爱学习的了不起! 在项目中用到的完胜除了分布式缓存,还有本地缓存,本地例如:Guava、缓存Encache,完胜使用本地缓存能够很大程度上提升程序性能,本地本地缓存是缓存直接从本地内存中读取,没有网络开销。完胜 今天给大家介绍一个高性能的本地 Java 缓存库 -- Caffeine 。 Caffeine是缓存基于Java8 的高性能缓存库,借鉴了 Guava 和 ConcurrentLinkedHashMap 的服务器托管完胜设计经验,拥有更高的本地缓存命中率和更快的读写速度。 性能比Guava更强 引入依赖 caffeine 配置缓存类 { { Caffeine.newBuilder() , TimeUnit.SECONDS) ) ) .build(); } } 这种方式的弊端是所有的缓存都放在一起,最好的使用方式是每一个缓存单独创建缓存对象。 使用缓存 { ); ; (Objects.isNull(obj)){ ); ); ,user); { user = (User) obj; } user; } Caffeine 是当前优秀的内存缓存框架,无论读还是写的效率都远高于其他缓存,从 Spring5 开始的默认缓存实现就将 Caffeine 代替原来的Google Guava,支持多种回收策略,感兴趣的云南idc服务商小伙伴赶快去试试吧简介
功能特性
基于时间的回收策略:包括写入时间和访问时间基于容量的回收策略:一种是基于容量大小,一种是完胜基于权重大小,两者只能取其一。基于数量回收策略基于引用的回收策略:GC并且内存不足时,会触发软引用回收策略;GC并且内存不足时,会触发软引用回收策略。value自动封装弱引用或软引用缓存访问统计使用方式
总结