CacheUtils 是 JeeSite 中的一个缓存工具类,用于操作全局缓存数据。而 SysCacheUtils 是 JeeSite 中的一个系统缓存工具类,用于操作缓存名称为 sysCache 的缓存数据。
总的来说,CacheUtils 可以用于操作所有缓存数据,而 SysCacheUtils 只能用于操作缓存名称为 sysCache 的缓存数据。
这里,我们使用 CacheUtils 设置并读取缓存,默认缓存失效时间是1小时。
像下面的代码:
List<BigCustomer> customerList; customerList = CacheUtils.get(customerService.getCacheCate(),customerService.getCacheKey()); if (customerList == null) { customerList = customerService.getBigCustomerList(bigCustomer); CacheUtils.put(customerService.getCacheCate(),customerService.getCacheKey(),customerList); }
用于读取缓存,读取失败,重新获取数据再设置缓存。
如果你想设置不同的时间,通过 web/src/main/resources/config/application.yml 文件,来配置:
# 系统缓存配置 j2cache: # # # 一级缓存 caffeine: region: #[缓存分类名称]: 数量, 过期时间[s|m|h|d](秒、分、时、天) customer: 100, 5h
这里配置了一个名为 customer 的缓存类,上限 100 个,过期时间 5小时。
否则,你在设置缓存时间时,会提示类似 “java.lang.IllegalArgumentException: Region [1296291303686877184] TTL 3600 not match with 60” 一样的错误。按官方的说法,你之前已经设置过缓存过期时间了,再重新设置,需要设置成一样的。