下面介绍一下简单使用的配置过程:ehcache.jar及spring相关jar就不说了,加到项目中就是了。

简单的使用真的很简单。但只能做为入门级了。

1.ehcache.xml,可放classpath根目录下,

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true"
monitoring="autodetect"

         dynamicConfig="true">

<      diskStore path="java.io.tmpdir" />

<defaultCache

            maxElementsInMemory="10000"

            eternal="false"

            timeToIdleSeconds="120"

            timeToLiveSeconds="120"

            overflowToDisk="true"

            diskSpoolBufferSizeMB="30"

            maxElementsOnDisk="10000000"

            diskPersistent="false"

            diskExpiryThreadIntervalSeconds="120"

            memoryStoreEvictionPolicy="LRU"

          

            />

    <cache name="DEFAULT_CACHE"

            maxElementsInMemory="10000"

            eternal="false"

            timeToIdleSeconds="120"

            timeToLiveSeconds="120"

            overflowToDisk="true"

            diskSpoolBufferSizeMB="30"

            maxElementsOnDisk="10000000"

            diskPersistent="false"

            diskExpiryThreadIntervalSeconds="120"

            memoryStoreEvictionPolicy="LRU"

           

            />    

</ehcache>

<!--  

1.必须要有的属性:  

name: cache的名字,用来识别不同的cache,必须惟一。  

maxElementsInMemory: 内存管理的缓存元素数量最大限值。  

maxElementsOnDisk: 硬盘管理的缓存元素数量最大限值。默认值为0,就是没有限制。  

eternal: 设定元素是否持久话。若设为true,则缓存元素不会过期。  

overflowToDisk: 设定是否在内存填满的时候把数据转到磁盘上。  

2.下面是一些可选属性:  

timeToIdleSeconds: 设定元素在过期前空闲状态的时间,只对非持久性缓存对象有效。默认值为0,值为0意味着元素可以闲置至无限长时间。  

timeToLiveSeconds: 设定元素从创建到过期的时间。其他与timeToIdleSeconds类似。  

diskPersistent: 设定在虚拟机重启时是否进行磁盘存储,默认为false.(我的直觉,对于安全小型应用,宜设为true)。  

diskExpiryThreadIntervalSeconds: 访问磁盘线程活动时间。  

diskSpoolBufferSizeMB: 存入磁盘时的缓冲区大小,默认30MB,每个缓存都有自己的缓冲区。  

memoryStoreEvictionPolicy: 元素逐出缓存规则。共有三种,Recently Used
(LRU)最近最少使用,为默认。 First In First Out (FIFO),先进先出。Less Frequently
Used(specified as LFU)最少使用 

-->

2.第二步,配置applicationContext-ehcache.xml,与spring整合文件

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans" 

     xmlns:context="http://www.springframework.org/schema/context" 

     xmlns:p="http://www.springframework.org/schema/p" 

     xmlns:mvc="http://www.springframework.org/schema/mvc" 

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

     xmlns:aop="http://www.springframework.org/schema/aop" 

     xmlns:tx="http://www.springframework.org/schema/tx" 

     xsi:schemaLocation="http://www.springframework.org/schema/beans 

          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 

          http://www.springframework.org/schema/context 

          http://www.springframework.org/schema/context/spring-context.xsd 

          http://www.springframework.org/schema/tx  

          http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 

          http://www.springframework.org/schema/aop 

          http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 

          http://www.springframework.org/schema/mvc 

          http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"

          default-autowire="byName" default-lazy-init="false"> 

        <!-- 引用ehCache的配置 -->    

        <bean id="defaultCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">    

          <property name="configLocation">    

            <value>classpath:ehcache.xml</value>    

         </property>    

        </bean> 

         

          <!-- 定义ehCache的工厂,并设置所使用的Cache name -->    

        <bean id="ehCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">    

          <property name="cacheManager">    

            <ref local="defaultCacheManager"/>    

          </property>    

          <property name="cacheName">    

              <value>DEFAULT_CACHE</value>    

          </property>    

        </bean>           

    </beans>

实际上这样就把两者结合起来了。当然集群的话还得另外配置,这里只讲最简单的。

下面使用:

3.  添加数据到缓存:

net.sf.ehcache.Cache ehCache=ApplicationContextUtils.getBean("ehCache");

net.sf.ehcache.Element lgEle=new net.sf.ehcache.Element("loginName", users.getLoginName());

net.sf.ehcache.Element pwdEle=new net.sf.ehcache.Element("password", users.getPassword());

ehCache.put(lgEle);

ehCache.put(pwdEle);

这样使用就可。

Ehcache整合spring的更多相关文章

  1. Ehcache 整合Spring 使用页面、对象缓存

    Ehcache 整合Spring 使用页面.对象缓存 Ehcache在很多项目中都出现过,用法也比较简单.一 般的加些配置就可以了,而且Ehcache可以对页面.对象.数据进行缓存,同时支持集群/分布 ...

  2. ehcache整合spring本地接口方式

    一.简介 ehcache整合spring,可以通过使用echache的本地接口,从而达到定制的目的.在方法中根据业务逻辑进行判断,从缓存中获取数据或将数据保存到缓存.这样让程序变得更加灵活. 本例子使 ...

  3. Ehcache学习总结(3)--Ehcache 整合Spring 使用页面、对象缓存

    Ehcache 整合Spring 使用页面.对象缓存 Ehcache在很多项目中都出现过,用法也比较简单.一般的加些配置就可以了,而且Ehcache可以对页面.对象.数据进行缓存,同时支持集群/分布式 ...

  4. (转)Ehcache 整合Spring 使用页面、对象缓存

    Ehcache在很多项目中都出现过,用法也比较简单.一般的加些配置就可以了,而且Ehcache可以对页面.对象.数据进行缓存,同时支持集群/分布式缓存.如果整合Spring.Hibernate也非常的 ...

  5. Ehcache 整合Spring 使用页面、对象缓存(转载)

    Ehcache在很多项目中都出现过,用法也比较简单.一般的加些配置就可以了,而且Ehcache可以对页面.对象.数据进行缓存,同时支持集群/分布式缓存.如果整合Spring.Hibernate也非常的 ...

  6. Ehcache 整合Spring 使用页面、对象缓存(转)

    Ehcache在很多项目中都出现过,用法也比较简单.一般的加些配置就可以了,而且Ehcache可以对页面.对象.数据进行缓存,同时支持集群/分布式缓存.如果整合Spring.Hibernate也非常的 ...

  7. Ehcache 整合Spring 使用页面、对象缓存(1)

    转自:http://www.cnblogs.com/hoojo/archive/2012/07/12/2587556.html Ehcache在很多项目中都出现过,用法也比较简单.一般的加些配置就可以 ...

  8. Ehcache整合spring配置

    为了提高系统的运行效率,引入缓存机制,减少数据库访问和磁盘IO.下面说明一下ehcache和spring整合配置. 1.   需要的jar包 slf4j-api-1.6.1.jar ehcache-c ...

  9. Ehcache学习总结(2)--Ehcache整合spring配置

    首先需要的maven依赖为: [html] view plain copy <!--ehcache--> <dependency> <groupId>com.goo ...

  10. Ehcache整合spring配置,配置springMVC缓存

    为了提高系统的运行效率,引入缓存机制,减少数据库访问和磁盘IO.下面说明一下ehcache和spring整合配置. 1.   需要的jar包 slf4j-api-1.6.1.jar ehcache-c ...

随机推荐

  1. js修改input的type属性问题(兼容所有浏览器,主要用于密码类的默认有提示文字的效果)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  2. eclipse javaee 插件安装

    eclipese 精简版安装java ee插件 , 按图走  (eclipse 版本 : Indigo Service Release 1   (3.7.1)) java ee 在线安装地址: htt ...

  3. Makefile初探

    选择一个目录创建一个Makefile文件: 注意第二行的开头需要时TAB建空开,不要用空格 执行make make的时候,无论你创建的是makefile还是Makefile都可以识别 ,不在乎开头的字 ...

  4. php ldap添加与修改

    /** * ldap 备份 * @param int $cardid * @param string $username * @param string $password 未加密密码 * @retu ...

  5. C# 回调与 javascritp 回调 比较

    C#: using System; using System.Collections.Generic; using System.Text; namespace Delegate { //定义委托,它 ...

  6. 路径重写,适用于laravel,yii

    <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule& ...

  7. Sketch Up常见问题

    墙上开门洞用铅笔在墙上画好矩形(2m*1m)->用推拉(P)工具双击左键

  8. window上将MongoDB的启动加入到服务中

    在系统管理员的命令行模式中: 进入mongo的安装目录,参照如下: 其中: --dbpath为保存的数据的路径 mongod --bind_ip --serviceName "MongoDB ...

  9. php 抽象 继承 多态

    1.继承和重载 !!!php中使用extends单一继承的方法 被继承的类  父类(基类) 继承者   子类(派生类) 如果说我们需要将父类方法重载(方法覆盖),在派生类里使用与基类方法重名的方法名称 ...

  10. mysql 分库分表(水平切割和垂直切割)

    分表是分散数据库压力的好方法. 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库. 当然,首先要知道什么情况下,才需要分表.个人觉得单表记录条数达到百万到千万 ...