CacheManager的用法
1 、 CacheManager 对象的创建方式
(1)Create a singleton CacheManager using defaults, then list caches.
CacheManager.create();
String[] cacheNames = CacheManager.getInstance().getCacheNames();
(2)Create a CacheManager instance using defaults, then list caches.
CacheManager manager = new CacheManager();
String[] cacheNames = manager.getCacheNames();
(3)Create two CacheManagers, each with a different configuration, and list the caches in each.
CacheManager manager1 = new CacheManager("src/config/ehcache1.xml");
CacheManager manager2 = new CacheManager("src/config/ehcache2.xml");
String[] cacheNamesForManager1 = manager1.getCacheNames();
String[] cacheNamesForManager2 = manager2.getCacheNames();
2 、 Cache 配置文件的加载方式
CacheManager 的构造函数如下:
(1) 无参
CacheManager manager = new CacheManager();
(2) 通过配置文件
CacheManager manager = new CacheManager("src/config/ehcache.xml");
(3) 通过资源
URL url = getClass().getResource("/anotherconfigurationname.xml");
CacheManager manager = new CacheManager(url);
(4) 通过输入流
InputStream fis = new FileInputStream(new File("src/config/ehcache.xml").getAbsolutePath());
try {
CacheManager manager = new CacheManager(fis);
} finally {
fis.close();
}
3 、增加或删除 Cache
增加 Cache 有两种方式:
(1) 使用 CacheManager 的 addCache(String)
CacheManager singletonManager = CacheManager.create();
singletonManager.addCache("testCache");
Cache test = singletonManager.getCache("testCache");
(2) 新增一个 Cache ,然后加到 CacheManager 中, Cache 在加入 CacheManager 之前是不能使用的
CacheManager singletonManager = CacheManager.create();
Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2);
manager.addCache(memoryOnlyCache);
Cache test = singletonManager.getCache("testCache");
从 CachaManager 中删除 Cache
CacheManager singletonManager = CacheManager.create();
singletonManager.removeCache("sampleCache1");
4 、关闭 CacheManager
CacheManager 在使用之后应该关闭,虽然有自己的 shutdown hook ,建议在程序中手动关闭。
CacheManager.getInstance().shutdown();