layering-cache是一个支持分布式环境的多级缓存框架,使用方式和spring-cache类似,主要目的是在使用注解的时候支持配置过期时间。layering-cache其实是一个两级缓存,一级缓存使用Caffeine作为本地缓存,二级缓存使用redis作为集中式缓存。并且基于redis的Pub/Sub做缓存的删除,所以它是一个适用于分布式环境下的一个缓存系统。
- 支持缓存监控统计
- 支持缓存过期时间在注解上直接配置
- 支持二级缓存的自动刷新(当缓存命中并发现缓存将要过期时会开启一个异步线程刷新缓存)
- 刷新缓存分为强刷新和软刷新,强刷新直接调用缓存方法,软刷新直接改缓存的时间
- 缓存Key支持SpEL表达式
- 新增FastJsonRedisSerializer,KryoRedisSerializer序列化,重写String序列化。
- 支持同一个缓存名称设置不同的过期时间
- 输出INFO级别的监控统计日志
- 二级缓存是否允许缓存NULL值支持配置
- 二级缓存空值允许配置时间倍率