zoukankan      html  css  js  c++  java
  • Ehcache配置详解及CacheManager使用

    <?xml version="1.0" encoding="UTF-8"?>
    <ehcache>
    <!--timeToIdleSeconds 当缓存闲置n秒后销毁 -->
    <!--timeToLiveSeconds 当缓存存活n秒后销毁 -->
    <!--
    缓存配置
           name:缓存名称。
           maxElementsInMemory:缓存最大个数。
           eternal:对象是否永久有效,一但设置了,timeout将不起作用。
           timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
           timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大。
           overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。
           diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
           maxElementsOnDisk:硬盘最大缓存个数。
           diskPersistent:是否缓存虚拟机重启期数据 Whether the disk store persists between restarts of the Virtual Machine. The default value is false.
           diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
           memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。
           clearOnFlush:内存数量最大时是否清除。
    -->

    Java代码  收藏代码
    1. <diskStore path="java.io.tmpdir" />   
    2. <defaultCache   
    3.   maxElementsInMemory="500"   
    4.   eternal="false"   
    5.   timeToIdleSeconds="300"   
    6.   timeToLiveSeconds="1200"   
    7.   overflowToDisk="true" />   
    8.     <cache name="com.Menu" maxElementsInMemory="150" eternal="false" timeToLiveSeconds="36000" timeToIdleSeconds="3600" overflowToDisk="true"/>   
    9. </ehcache>  



    EhcacheUtil工具类使用:

    Java代码  收藏代码
      1. public class EhcacheUtil {  
      2.   
      3.     private static final String path = "/ehcache.xml";  
      4.   
      5.     private URL url;  
      6.   
      7.     private CacheManager manager;  
      8.   
      9.     private static EhcacheUtil ehCache;  
      10.   
      11.     private EhcacheUtil(String path) {  
      12.         url = getClass().getResource(path);  
      13.         manager = CacheManager.create(url);  
      14.     }  
      15.   
      16.     public static EhcacheUtil getInstance() {  
      17.         if (ehCache== null) {  
      18.             ehCache= new EhcacheUtil(path);  
      19.         }  
      20.         return ehCache;  
      21.     }  
      22.   
      23.     public void put(String cacheName, String key, Object value) {  
      24.         Cache cache = manager.getCache(cacheName);  
      25.         Element element = new Element(key, value);  
      26.         cache.put(element);  
      27.     }  
      28.   
      29.     public Object get(String cacheName, String key) {  
      30.         Cache cache = manager.getCache(cacheName);  
      31.         Element element = cache.get(key);  
      32.         return element == null ? null : element.getObjectValue();  
      33.     }  
      34.   
      35.     public Cache get(String cacheName) {  
      36.         return manager.getCache(cacheName);  
      37.     }  
      38.   
      39.     public void remove(String cacheName, String key) {  
      40.         Cache cache = manager.getCache(cacheName);  
      41.         cache.remove(key);  
      42.     }  
      43.   

  • 相关阅读:
    matlab cell
    matlab linux 快捷键设置——有问题还是要解决
    latex 小结
    TOJ 1258 Very Simple Counting
    TOJ 2888 Pearls
    HDU 1248 寒冰王座
    TOJ 3486 Divisibility
    TOJ 3635 过山车
    TOJ 1840 Jack Straws
    HDU 4460 Friend Chains
  • 原文地址:https://www.cnblogs.com/sunxucool/p/3159076.html
Copyright © 2011-2022 走看看