SpringCloud+Ehcache
1、pom文件引入
<!-- https://mvnrepository.com/artifact/org.ehcache/ehcache -->
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.7.0</version>
</dependency>
2、磁盘存储
@Bean("cacheManager")
public CacheManager cacheManager() {
//缓存大小设置:磁盘
ResourcePoolsBuilder cacheSize = ResourcePoolsBuilder.newResourcePoolsBuilder().disk(1, MemoryUnit.GB);
//缓存类型设置
CacheConfigurationBuilder<String, String> cacheConfigurationBuilder = CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, String.class, cacheSize);
//创建缓存管理器
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
.with(CacheManagerBuilder.persistence(new File(getStoragePath(), "askbob")))//设置存储位置
.withCache("askbob", cacheConfigurationBuilder).build(true);//初始化,或cacheManager.init();
return cacheManager;
}
//设置磁盘路径
private String getStoragePath() {
ApplicationHome applicationHome = new ApplicationHome(getClass());
File file = applicationHome.getDir();
return file.toString();
}
3、堆存储
@Bean("cacheManager")
public CacheManager cacheManager() {
//缓存大小设置:堆
ResourcePoolsBuilder cacheSize = ResourcePoolsBuilder.newResourcePoolsBuilder().heap(1, EntryUnit.ENTRIES).offheap(1, MemoryUnit.GB);
//缓存类型设置
CacheConfigurationBuilder<String, String> cacheConfigurationBuilder = CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, String.class, cacheSize);
//创建缓存管理器
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
.withCache("askbob", cacheConfigurationBuilder).build(true);//初始化或cacheManager.init();
return cacheManager;
}
@Bean("ehcache")
public Cache<String, String> createCache() {
CacheManager cacheManager = cacheManager();
Cache<String, String> cache = cacheManager.getCache("askbob", String.class, String.class);
return cache;
}
4、缓存设置
@Bean("cacheManager")
public CacheManager cacheManager() {
//缓存大小设置:堆
ResourcePoolsBuilder cacheSize = ResourcePoolsBuilder.newResourcePoolsBuilder().heap(1, EntryUnit.ENTRIES).offheap(1, MemoryUnit.GB);
//缓存类型设置
CacheConfigurationBuilder<String, String> cacheConfigurationBuilder = CacheConfigurationBuilder
.newCacheConfigurationBuilder(String.class, String.class, cacheSize)
.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofHours(24)));//缓存超时设置
//创建缓存管理器
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
.withCache("askbob", cacheConfigurationBuilder).build(true);//初始化或cacheManager.init();
return cacheManager;
}
5、测试类
@RunWith(SpringRunner.class) @Autowired @Test |
最新文章
- 微软BI 之SSRS 系列 - 如何设置页标题重复
- hadoop系列讨论
- 讓 SourceTree 讀取自定的 SSH key
- centos msyql 安装与配置
- VS2012报表(RDLC)系列应用之单据批量打印
- Android学习之路——简易版微信为例(二)
- poj1269(直线交点)
- 异常信息:java.lang.OutOfMemoryError: PermGen space
- VS2010 boost 使用问题一例
- requests之headers &#39;Content-Type&#39;: &#39;text/html&#39;误判encoding为&#39;ISO-8859-1&#39;导致中文text解码错误
- tomcat advanced (RUNNING)
- Solidity合约记录——(一)如何寻找以太坊真实Solidity源码
- 【Spring Security】五、自定义过滤器
- VMware&#160;Linux下拖拽补丁vmtools的安装和卸载
- Python3.5+SQL+Prometheus+Grafana报表/监控
- 基于Python Shell获取hostname和fqdn释疑
- 小白用Android MVP-初体验(一)
- [LeetCode] 3. Longest Substring Without Repeating Characters ☆☆☆
- 【POJ 2976 Dropping tests】
- Bloomberg 专线配置问题
热门文章
- python selenium unittest Fixture(setUp/tearDown)笔记
- 我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?|附视频讲解
- 手把手教你用Python网络爬虫获取网易云音乐歌曲
- IE8/IE9/IE10打开网页后,自动设置浏览器模式为“IE8/IE9/IE10兼容性视图”
- 【Linux】Xshell 配置密钥登陆
- h5+ 开发分享功能
- GO 使用Webhook 实现github 自动化部署
- vue移动端转场动画
- WordPress获取某个分类关联的标签
- Istio Sidecar