阿里巴巴开源的缓存框架JetCache创建缓存

JetCache的优势

自动刷新和加载保护是JetCache的大杀器,对于加载开销比较大的对象,为了防止缓存未命中时的高并发访问打爆数据库:

public interface SummaryService{
    @Cached(expire = 3600, cacheType = CacheType.REMOTE)
    @CacheRefresh(refresh = 1800, stopRefreshAfterLastAccess = 3600, timeUnit = TimeUnit.SECONDS)
    @CachePenetrationProtect
    BigDecimal salesVolumeSummary(int timeId, long catagoryId);
}

cacheType为REMOTE或者BOTH的时候,刷新行为是全局唯一的,也就是说,即使应用服务器是一个集群,也不会出现多个服务器同时去刷新一个key的情况。
CachePenetrationProtect注解保证当缓存未命中的时候,一个JVM里面只有一个线程去执行方法,其它线程等待结果。
一个key的刷新任务,自该key首次被访问后初始化,如果该key长时间不被访问,在stopRefreshAfterLastAccess指定的时间后,相关的刷新任务就会被自动移除,这样就避免了浪费资源去进行没有意义的刷新。

https://yq.aliyun.com/articles/584312?utm_content=m_47346

 

1.创建缓存实例

这个非常简单

@CreateCache(expire = 100, cacheType = CacheType

你可能感兴趣的:(精品专栏)