我们之前 讲了 Spring boot 整合 cache 使用 simple(默认) redis Ehcache memcached的几种方式
但是 始终有人觉得不够完善
提出了一些问题
例如
觉得 当前spring boot 对缓存过期的控制过于松散 不严谨 比较明显的体现就是 memcached过期时间在逻辑代码中控制 Ehcache的过期时间在xml中配置 redis过期时间在application中配置
感觉是非常乱的
第二点是
Ehcache xml配置的是本地方案
而redis和memcached配置的都是远程地址
但 目前是没有任何一款 能够同时支出双方案的
其实还有很多不太好的地方
于是 阿里 摇旗呐喊 开发出了 jetcache缓存解决方案
但这不是一个革命性产品 只是对 springCache 进行了一次封装
可以简单理解为一个更强大的版本
它在原有功能的基础上 实现了 多级缓存 缓存统计 自动刷新 异步调用 数据报表等功能
jetcache算是一个底层框架 大家可以用它替代掉 springCache 因为它的功能更加多样且完善
但 目前它支持的缓存只有四种
本地缓存有
LinkedHashMap
Caffeine
远程缓存 支持
Redis
Tair
我们可以 组合 本地和缓存方案 在系统中同时使用 也可以就用其中一种
灵活性是好很多了
这里 为了方便 我们主要将
本地的 LinkedHashMap
远程的 Redis
因为这两种技术大家比较熟悉