两级缓存设计方案

两级缓存方案

一 需求

1. 集群式缓存
2. 支持注解缓存
2. 缓存定时自动更新
3. 可支持单机缓存部署
4. 可支持手动缓存
5. 管理界面*

二 方案

考虑用J2CACHE,加上spring cache支持注解

1. CacheChannel

https://apidoc.gitee.com/ld/J2Cache/

2. Spring cache 经常使用注解

注解 param 示例
@Cacheable cacheNames 模块名,value 命名空间,key 惟一key,condition 哪一种状况下才缓存结果 @Cacheable(value = "models", key = "#testModel.name", condition = "#testModel.address != '' ")
@CacheEvict cacheNames 模块名,value 命名空间 ,allEntries 标记是否删除命名空间下,key @CacheEvict(value = "models", allEntries = true)
@CachePut cacheNames 模块名,value 命名空间,key @CachePut(value = "models", key = "#name")

3. 定时缓存

结合@Scheduled(fixedDelay=任务间的延时时间,fixedRate=任务的间隔时间,cron=表达式)使用git

示例:spring

@Cacheable(cacheNames="test",key="name")
@Schedule(fixedDelay=2000)
public String getCache(String key){
    return "test";
}
相关文章
相关标签/搜索