EHCache官方網站:http://www.ehcache.org/html
EHCache官方文檔:http://www.ehcache.org/documentation/3.3/getting-started.htmljava
此博客採用的EHCache的版本: 3.3.1緩存
EHCache的3.x版本與2.x版本的使用方式區別仍是很大的,類的包名都改了,你說差異能不打麼。網站
2.x的使用方式詳見此篇博客:http://www.javashuo.com/article/p-ventbkpn-kd.htmlui
注意引入Jar包 , 可到官方網站中去下載,或者使用Maven依賴引入:編碼
<dependency> <groupId>org.ehcache</groupId> <artifactId>ehcache</artifactId> <version>3.3.1</version> </dependency>
官網關於EHCache的解釋:spa
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 Cache<Long, String> preConfigured = cacheManager.getCache("preConfigured", Long.class, String.class); //經過CacheManager根據特定配置再建立一個cache,名爲myCache,該cache由cacheManager這個實例管理 Cache<Long, String> 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(); } }
<?xml version="1.0" encoding="UTF-8"?> <config xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://www.ehcache.org/v3' xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core.xsd"> <cache alias="foo"> <key-type>java.lang.String</key-type> <value-type>java.lang.String</value-type> <resources> <heap unit="entries">2000</heap> <offheap unit="MB">500</offheap> </resources> </cache> <cache-template name="myDefaults"> <key-type>java.lang.Long</key-type> <value-type>java.lang.String</value-type> <heap unit="entries">200</heap> </cache-template> <cache alias="bar" uses-template="myDefaults"> <key-type>java.lang.Number</key-type> </cache> <cache alias="simpleCache" uses-template="myDefaults" /> </config>
官方文檔給出的解釋以下:.net
而後再經過Java代碼讀取配置文件使用EHCachecode
URL myUrl = getClass().getResource("/my-config.xml"); Configuration xmlConfig = new XmlConfiguration(myUrl); CacheManager myCacheManager = CacheManagerBuilder.newCacheManager(xmlConfig);
官方文檔給出的解釋以下:xml
關於更多詳細的信息參見官方文檔:http://www.ehcache.org/documentation/3.3/xml.html
注:Spring4.3.8版本及其以上才支持EHCache3.x版本。
待寫...