zoukankan      html  css  js  c++  java
  • Ehcache整合spring

    下面介绍一下简单使用的配置过程: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);

    这样使用就可。

  • 相关阅读:
    web自动化框架如何设计
    如何保证元素定位的成功率(等待机制)
    验证码问题处理
    selenium元素定位
    网路知识总结(session&&Cookie&&三次握手&&请求头)
    python中方法的总结
    Twelve Day 检测大写字母
    超过5名学生的课(SQL语句)
    The Eleven Day 删除排序数组中的重复项
    删除重复的电子邮箱(SQL语句)
  • 原文地址:https://www.cnblogs.com/xubiao/p/5414800.html
Copyright © 2011-2022 走看看