Ehcache(1)

原创 2015年11月23日 12:49:10

    Ehcache是一个Java的缓存框架,当应用需要使用到缓存的时候,可以使用,它的操作也方便,下面介绍一下它的用法

一.CacheManager

    1.配置文件

        首先在src下面放一个ehcache.xml文件,内容如下
<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获取对应的cache
		Cache cache1 = cacheManager.getCache("cache1");// 参数为配置文件中<cache>中的name
		
		// 添加一个cache到CacheManager中
		cacheManager.addCache("cache2");// 添加一个name为cache2的节点,属性继承defaultCache
		System.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中,名为test
		cache1.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的cache
		cacheManager.removeCache("cache2");
		//移除所有cache
		cacheManager.removalAll();
	}





版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Ehcache(1)

Ehcache是一个Java的缓存框架,当应用需要使用到缓存的时候,可以使用,它的操作也方便,下面介绍一下它的用法 一.CacheManager     1.配置文件     2.cacheMa...

Ehcache学习(1)_Ehcache简介

解 压缩

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ehcache的使用(1)-- 基础

一.介绍与应用场景 ehcache是一开源缓存工具,其许可证为Apache License, Version 2.0,非常友好的许可。在 sourceforge.net 上可找到它的最新版本。 ...

文章标题

Ehcache配置参数简介 2011-12-06 11:26:40| 分类: Hibernate |举报|字号 订阅 < defaultCache maxElementsInMemo...

Ehcache整合spring配置

文章转自http://blog.csdn.net/clj198606061111/article/details/41121437 为了提高系统的运行效率,引入缓存机制,减少数据库访问和磁盘...

Ehcache介绍

1.Overview Ehcache从 Hibernate 发展而来,逐渐涵盖了Cahce界的全部功能,是目前发展势头最好的一个项目。 标准缓存 分布式缓存(基于RMI/JGroup...

Ehcache 中ehcache.xml 配置详解和示例

EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用...

Ehcache配置详解及CacheManager使用

文章转自http://www.cnblogs.com/sunxucool/p/3159076.html         缓存配置         name:缓存名称。...

Ehcache做页面缓存

/** * 作者:张荣华 * 日期:2007-9-30 **/   关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应用中80% 的时间内都在访问20% 的数据,那么,...

缓存之EHCache(二)

六、在页面中使用EHCache缓存        简单的来说,如果一个应用中80% 的时间内都在访问20% 的数据,那么,这时候就应该使用缓存了。        在80/20 原则生效的地...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)