ehcache 缓存使用
来源:互联网 发布:商业公司顶级域名是 编辑:程序博客网 时间:2024/05/14 21:35
name:Cache的唯一标识
maxElementsInMemory:内存中最大缓存对象数。
maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大。
eternal:Element是否永久有效,一但设置了,timeout将不起作用。
overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中。
timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大。
diskPersistent:是否缓存虚拟机重启期数据。
diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
maxElementsInMemory:内存中最大缓存对象数。
maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大。
eternal:Element是否永久有效,一但设置了,timeout将不起作用。
overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中。
timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大。
diskPersistent:是否缓存虚拟机重启期数据。
diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU
<?xml version="1.0" encoding="UTF-8"?> <ehcache> <diskStore path="java.io.tmpdir" /> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" /> <cache name="recommend" maxElementsInMemory="10000" maxElementsOnDisk="10000000" eternal="false" timeToIdleSeconds="1440" diskPersistent="false" timeToLiveSeconds="600" overflowToDisk="false" memoryStoreEvictionPolicy="LRU"> <cacheEventListenerFactory class="com.jwzt.ehcache.NotNullCacheEventListenerFactory" /> </cache> <cache name="video" maxElementsInMemory="10000" maxElementsOnDisk="10000000" eternal="false" timeToIdleSeconds="1440" diskPersistent="false" timeToLiveSeconds="7200" overflowToDisk="false" memoryStoreEvictionPolicy="LFU"> <cacheEventListenerFactory class="com.jwzt.ehcache.NotNullCacheEventListenerFactory" /> </cache> </ehcache>
import java.util.Properties;import net.sf.ehcache.event.CacheEventListener;import net.sf.ehcache.event.CacheEventListenerFactory;public class NotNullCacheEventListenerFactory extends CacheEventListenerFactory {@Overridepublic CacheEventListener createCacheEventListener(Properties arg0) {System.out.println("进入监听");// TODO Auto-generated method stubreturn NotNullCacheEventListener.INSTANCE;}}
import org.apache.log4j.Logger;import net.sf.ehcache.CacheException;import net.sf.ehcache.Ehcache;import net.sf.ehcache.Element;import net.sf.ehcache.event.CacheEventListener;public class NotNullCacheEventListener implements CacheEventListener {private static Logger logger = Logger.getLogger(NotNullCacheEventListener.class);public static final CacheEventListener INSTANCE = new NotNullCacheEventListener();public void notifyElementRemoved(Ehcache arg0, Element arg1)throws CacheException {// TODO Auto-generated method stublogger.info("通知元素移除"+arg1.getKey());}public void notifyElementPut(Ehcache arg0, Element arg1)throws CacheException {// TODO Auto-generated method stublogger.info("通知元素添加"+arg1.getKey());System.out.println("添加元素"+arg1.getKey());}public void notifyElementUpdated(Ehcache arg0, Element arg1)throws CacheException {// TODO Auto-generated method stublogger.info("通知元素修改"+arg1.getKey());}public void notifyElementEvicted(Ehcache arg0, Element arg1) {// TODO Auto-generated method stublogger.info("通知元素驱赶"+arg1.getKey());}public void notifyElementExpired(Ehcache arg0, Element arg1) {// TODO Auto-generated method stublogger.info("元素["+arg1.getKey()+"]到达有效时间,系统自动从缓存中清楚");}public void notifyRemoveAll(Ehcache arg0) {// TODO Auto-generated method stublogger.info("通知元素移除所有");}public void dispose() {// TODO Auto-generated method stublogger.info("处理,安排");}@Override public Object clone() throws CloneNotSupportedException { throw new CloneNotSupportedException("Singleton instance"); } }
import java.util.List;import net.sf.ehcache.Cache;import net.sf.ehcache.CacheManager;import net.sf.ehcache.Element;public class Test { public static void main(String[] args) throws Exception { //CacheManager manager = new CacheManager("/ehcache1.xml"); final CacheManager manager = CacheManager.create(Test.class.getResourceAsStream("ehcache1.xml")); Cache cache = manager.getCache("recommend"); for (int i = 0; i < 6; i++) { Element e = new Element( i, "value" + i); cache.put(e); } List<Integer> keys = cache.getKeys(); for (int key : keys) { System.out.println(key + "," + cache.get(key)); } }}
0 0
- ehcache缓存的使用
- ehcache 缓存的使用
- Ehcache缓存的使用
- ehcache 缓存的使用
- spring使用ehcache缓存
- Ehcache 缓存使用
- ehcache 缓存使用
- ehcache缓存使用
- web缓存--Ehcache使用
- ehcache 缓存使用
- ehcache缓存的使用
- ehcache 缓存使用
- ehcache缓存使用
- ehcache 缓存使用
- ehcache 缓存使用
- Ehcache缓存的使用
- ehcache 缓存使用
- 缓存技术 oscache、ehcache使用之ehcache
- spring-MVC配置问题
- static关键字的作用
- Tomcat并发数优化总结
- guid 在线生成
- java 汉字转换英文小写工具类
- ehcache 缓存使用
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- 大数据落地关键,百思可(BASIC)模型五要素缺一不可
- 6 - 对象和类
- jQuery EasyUI使用教程之构建CRUD DataGrid
- 构造64位时间DWORD64
- iOS开发动画之绕View旋转的View
- 7 - 更多字符串和特殊方法
- 省市联动 DropDownList控件