博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot caffeine
阅读量:6453 次
发布时间:2019-06-23

本文共 2108 字,大约阅读时间需要 7 分钟。

hot3.png

spring 5中取消了Guava cache作为本地缓存,推荐使用 caffeine. 具体原因参见官网测试参数。

org.springframework.boot
spring-boot-starter-cache
com.github.ben-manes.caffeine
caffeine
spring.cache.caffeine.spec=maximumSize=200,expireAfterAccess=600s

可以在配置文件中application.properties 配置容量,过期时间,cache name

建议是在代码中,配置,因代码中配置更加灵活,可以设置每一个cache name的 过期时间,容量

@EnableCaching@Configurationpublic class CacheConfig {    public static final int DEFAULT_MAXSIZE = 50000;    public static final int DEFAULT_TTL = 24;    /**     * 创建缓存,有效期,容量     */    public enum Caches {        // 默认 24小时 5W        getDefault,        // 1小时,最大容量1000        getOtherthing(1, 1000),        ;        Caches() {        };        Caches(               int ttl) {            this.ttl = ttl;        }        Caches(int ttl, int maxSize) {            this.ttl = ttl;            this.maxSize = maxSize;        }        // 最大數量        private int maxSize = DEFAULT_MAXSIZE;        // 过期时间(小时)        private int ttl = DEFAULT_TTL;        public int getMaxSize() {            return maxSize;        }        public int getTtl() {            return ttl;        }    }    /**     * 创建基于Caffeine的Cache Manager     * @return     */    @Bean    public CacheManager caffeineCacheManager() {        SimpleCacheManager cacheManager = new SimpleCacheManager();        ArrayList
caches = new ArrayList
(); for (Caches c : Caches.values()) { caches.add(new CaffeineCache(c.name(), Caffeine.newBuilder().recordStats() .expireAfterWrite(c.getTtl(), TimeUnit.HOURS) .maximumSize(c.getMaxSize()) .build())); } cacheManager.setCaches(caches); return cacheManager; }}

代码:https://gitee.com/emperors/spring-boot-integration.git 

转载于:https://my.oschina.net/u/3247419/blog/1555599

你可能感兴趣的文章
linux pbs 用户时间,【Linux】单计算机安装PBS系统(Torque)与运维
查看>>
linux系统可用内存减少,在Linux中检查可用内存的5种方法
查看>>
linux 脚本map,Linux Shell Map的用法详解
查看>>
如何在linux系统下配置共享文件夹,如何在windows和Linux系统之间共享文件夹.doc
查看>>
thinkpad装linux无线网卡驱动,ThinkPad E530 Fedora 20 下无线网卡驱动的安装
查看>>
linux操作系统加固软件,系统安全:教你Linux操作系统的安全加固
查看>>
linux中yum源安装dhcp,24.Linux系统下动态网络源部署方法(dhcpd)
查看>>
linux屏幕复制显示出来的,linux – stdout到gnu屏幕复制缓冲区
查看>>
一起学Shell(十)之可称植性议题与扩展
查看>>
部署Ganglia监控Hadoop&Hbase
查看>>
gitlab的用户使用手册
查看>>
论Optimizer的工作模式ALL_ROWS&FIRST_ROWS
查看>>
生产环境高并发MySQL SQL语句优化案例
查看>>
Lync 小技巧-24-PDF 加密文件-转-Word-操作手册
查看>>
ASP.NET性能优化之分布式Session
查看>>
TaffyDB Introduction
查看>>
转载:《TypeScript 中文入门教程》 16、Symbols
查看>>
JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记4
查看>>
C#技术------垃圾回收机制(GC)
查看>>
【转】eclipse -- the project was not built due to a resource exists with a different case...
查看>>