Ehcache(1)
来源:互联网 发布:suse linux无法连接ftp 编辑:程序博客网 时间:2024/06/01 20:45
Ehcache是一个Java的缓存框架,当应用需要使用到缓存的时候,可以使用,它的操作也方便,下面介绍一下它的用法
一.CacheManager
1.配置文件
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" > <diskStore path="java.io.tmpdir"/> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" maxElementsOnDisk="10000000" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" /> <cache name="cache1" maxElementsInMemory="10000" maxElementsOnDisk="1000" eternal="false" overflowToDisk="true" timeToIdleSeconds="20" timeToLiveSeconds="20" memoryStoreEvictionPolicy="LFU" /></ehcache>后面再仔细介绍这个文件
2.cacheManager的创建
CacheManager,顾名思义,是用来管理Cache的,每个CacheManager可以对应多个Cache,所以第一步是获取一个CacheManager的对象,CacheManager有几个构造方法
CacheManager(Configuration):该构造方法接收一个Configuration对象
CacheManager(String):该构造方法接收一个有配置文件路径信息的字符串
CacheManager(URL):该构造方法接收一个指向配置文件的URL对象
CacheManager(URL):该构造方法接收一个指向配置文件的输入流
CacheManager():该构造方法无参数,默认加载路径下的名为ehcache.xml的配置文件
创建一个CacheManager的对象有几种方法:
1).使用new创建一个对象
该方法创建一个全新的对象
2).使用CacheManager的静态方法newInstance方法创建一个对象
CacheManager中有5个newInstance方法,参数类似和构造方法一样,newInstance方法首先会看是否存在同名的CacheManager对象,如果 存在,则返回,没有则创建一个新的对象
源码如上,所有的newInstance方法都会调用这个newInstance方法,其中判断是否有同名的对象,没有则使用new创建 一个新的对象
3).使用CacheManager的静态方法create方法创建一个对象
create方法也有5个,和newInstance对应,CacheManager中有一个名为singleton的对象,每次调用create方法时,首先判断该对象是否 已经存在,如果已经存在则返回,如果不存在,则调用newInstance,并把返回的值赋给singleton,再返回该对象
4).使用CacheManager的静态方法getInstance方法创建一个对象
这个方法调用create方法
3.cacheManager操作Cache
public static void main(String[] args) throws IOException {CacheManager cacheManager = new CacheManager();//通过name获取对应的cacheCache cache1 = cacheManager.getCache("cache1");// 参数为配置文件中<cache>中的name// 添加一个cache到CacheManager中cacheManager.addCache("cache2");// 添加一个name为cache2的节点,属性继承defaultCacheSystem.out.println(cacheManager.getActiveConfigurationText());// 打印出ehcache.xml文件中的内容,会发现多出一个cache2节点Cache cache3 = new Cache("cache3", 10001, true, true, 100, 100);cacheManager.addCache(cache3);//必须添加到CacheManager才有效System.out.println(cacheManager.getActiveConfigurationText());// 打印出ehcache.xml文件中的内容,会发现多出一个cache3节点cache3.put(new Element("test",new Integer(1)));// 将一个对象放到cache3中,名为testcache1.put(new Element("test",new Integer(1)));// 将一个对象放到cache1中,名为test// 清除所有cache中的所有对象cacheManager.clearAll();System.out.println(cache1.get("test"));// 清除后为null,下同System.out.println(cache3.get("test"));//移除名为cache2的cachecacheManager.removeCache("cache2");//移除所有cachecacheManager.removalAll();}
- EHCache(1)
- Ehcache(1)
- Ehcache学习总结(1)--Ehcache入门介绍
- Ehcache
- Ehcache
- ehcache
- ehcache
- EHCache
- ehCache
- ehcache
- ehcache
- ehcache
- ehcache
- ehcache
- ehcache
- EhCache
- Ehcache
- ehcache
- 备注在MindMapper中该怎么进行添加
- 第十周练习 1011 整数解
- C语言获取时间字符串
- VC/MFC加滚动条显示大图片SetScrollRange()、SetScrollInfo()两种思路实现及其两者优劣比较
- Tomcat服务器详解
- Ehcache(1)
- python 第二天 条件语句的使用
- ASIHttpRequest请求HTTPS
- servlet线程安全问题
- java菜鸟级别(1)
- tomcat使用memcached完成集群(session共享实现方式)
- 完全理解Gson(1):简单入门
- 【ThinkPHP】数据库增删查改
- javafx button show onAction or lambda "->"