EHCache官方网站:
EHCache官方文档:
此博客采用的EHCache的版本: 3.3.1
EHCache的3.x版本与2.x版本的使用方式区别还是很大的,类的包名都改了,你说差别能不打么。
2.x的使用方式详见此篇博客:
注意引入Jar包 , 可到官方网站中去下载,或者使用Maven依赖引入:
org.ehcache ehcache 3.3.1
官网关于EHCache的解释:
1.通过编码的方式使用EHCache
package at.flying.test;import org.ehcache.Cache;import org.ehcache.CacheManager;import org.ehcache.config.builders.CacheConfigurationBuilder;import org.ehcache.config.builders.CacheManagerBuilder;import org.ehcache.config.builders.ResourcePoolsBuilder;public class EHCacheTest { public static void main(String[] args) { //获取到管理cache的CacheManager, // 并且初识化了一个名为preConfigured的cache, // 该cache里存储的entity的key类型为Long , value类型为String, //该cache最多只能缓存100个entity CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder() .withCache("preConfigured", CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(100)) .build()) .build(true); //通过CacheManager获取到名为preConfigured的cache CachepreConfigured = cacheManager.getCache("preConfigured", Long.class, String.class); //通过CacheManager根据特定配置再创建一个cache,名为myCache,该cache由cacheManager这个实例管理 Cache myCache = cacheManager.createCache("myCache", CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(100)).build()); //放入一个entity到myCache里,类似于Map的存储方式 myCache.put(1L, "da one!"); //从名为myCache的cache里获取key为1的value值 String value = myCache.get(1L); //打印获取到的值 System.out.println(value); //关闭CacheManager,这个方法会自动关闭该CacheManager管理的所有cache及service cacheManager.close(); }}
2.通过xml配置文件使用EHCache
java.lang.String java.lang.String 2000 500 java.lang.Long java.lang.String 200 java.lang.Number
官方文档给出的解释如下:
然后再通过Java代码读取配置文件使用EHCache
URL myUrl = getClass().getResource("/my-config.xml"); Configuration xmlConfig = new XmlConfiguration(myUrl); CacheManager myCacheManager = CacheManagerBuilder.newCacheManager(xmlConfig);
官方文档给出的解释如下:
关于更多详细的信息参见官方文档:
3.EHCache与Spring的整合使用
注:Spring4.3.8版本及其以上才支持EHCache3.x版本。
待写...