1、文档



2、入门使用

2.1、在pom.xml中加入依赖

  1. <dependency>
  2. <groupId>org.ehcache</groupId>
  3. <artifactId>ehcache</artifactId>
  4. <version>3.9.7</version>
  5. </dependency>

2.2、java代码使用

  1. @Test
  2. public void test1() {
  3. // 1. 创建缓存管理器
  4. CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
  5. .withCache("preConfigured" // 缓存别名、名称,用于从缓存管理器中取出缓存
  6. , CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(10))) //缓存配置 ,10表示键值个数
  7. .build(true); // 构建缓存管理器并初始化
  8. // 初始化
  9. // cacheManager.init(); build 是传参为true 表示初始化
  10. // 通过名称获取缓存,注意 需要传入缓存对应的键值类型
  11. Cache<Long, String> preConfigured = cacheManager.getCache("preConfigured", Long.class, String.class);
  12. // 创建新的缓存
  13. Cache<Long, String> myCache = cacheManager.createCache("myCache",
  14. CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(5)));
  15. // 键唯一
  16. myCache.put(1L,"do one!");
  17. // 根据键获取缓存值
  18. String value = myCache.get(1L);
  19. System.out.println(value);
  20. // 移除缓存
  21. cacheManager.removeCache("preConfigured");
  22. // 关闭所有缓存
  23. cacheManager.close();
  24. }

2.2、使用xml配置文件

可以使用xml配置文件来配置缓存管理器

  1. <config
  2. xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
  3. xmlns='http://www.ehcache.org/v3'
  4. xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core.xsd">
  5. <!-- 持久化到磁盘 , 集群模式可以使用-->
  6. <persistence directory="${java.io.tmpdir}/ehcache-data"/>
  7. <cache alias="foo">
  8. <key-type>java.lang.String</key-type>
  9. <value-type>java.lang.String</value-type>
  10. <resources>
  11. <heap unit="entries">20</heap>
  12. <offheap unit="MB">10</offheap>
  13. </resources>
  14. </cache>
  15. <cache-template name="myDefaults">
  16. <key-type>java.lang.Long</key-type>
  17. <value-type>java.lang.String</value-type>
  18. <heap unit="entries">200</heap>
  19. </cache-template>
  20. <cache alias="bar" uses-template="myDefaults">
  21. <key-type>java.lang.Number</key-type>
  22. </cache>
  23. <cache alias="simpleCache" uses-template="myDefaults" />
  24. </config>