• Ehcache 缓存


     1 package org.jeecgframework.core.util;
     2 
     3 import net.sf.ehcache.Cache;
     4 import net.sf.ehcache.CacheManager;
     5 import net.sf.ehcache.Element;
     6 
     7 /**
     8  * ehcache 缓存工具类
     9  * 
    10  * cacheName在ehcache.xml中配置
    11  */
    12 public class EhcacheUtil {
    13 
    14     public static CacheManager manager = CacheManager.create();
    15 
    16     public static Object get(String cacheName, Object key) {
    17         Cache cache = manager.getCache(cacheName);
    18         if (cache != null) {
    19             Element element = cache.get(key);
    20             if (element != null) {
    21                 return element.getObjectValue();
    22             }
    23         }
    24         return null;
    25     }
    26 
    27     public static void put(String cacheName, Object key, Object value) {
    28         Cache cache = manager.getCache(cacheName);
    29         if (cache != null) {
    30             cache.put(new Element(key, value));
    31         }
    32     }
    33 
    34     public static boolean remove(String cacheName, Object key) {
    35         Cache cache = manager.getCache(cacheName);
    36         if (cache != null) {
    37             return cache.remove(key);
    38         }
    39         return false;
    40     }
    41 
    42     public static void main(String[] args) {
    43         String key = "key";
    44         String value = "hello";
    45         EhcacheUtil.put("mytest", key, value);
    46         //System.out.println(EhcacheUtil.get("mytest", key));
    47     }
    48 
    49 }
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <ehcache updateCheck="false">
     3 
     4     <diskStore path="java.io.tmpdir" />
     5 
     6     <!-- Cluster localhost setting -->
     7     <cacheManagerPeerProviderFactory
     8         class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
     9         properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1,
    10         multicastGroupPort=4446, timeToLive=32"/>
    11     
    12     <cacheManagerPeerListenerFactory
    13         class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
    14         properties="hostName=localhost, port=40001,socketTimeoutMillis=2000" />
    15 
    16 
    17     <cache name="dictCache" maxElementsInMemory="500" overflowToDisk="true"
    18         eternal="true">
    19         <cacheEventListenerFactory
    20             class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
    21             properties="replicatePuts=false,replicateUpdatesViaCopy=false" />
    22     </cache>
    23 
    24     <cache name="eternalCache" maxElementsInMemory="500"
    25         overflowToDisk="true" eternal="false" timeToIdleSeconds="1200"
    26         timeToLiveSeconds="1200">
    27         <cacheEventListenerFactory
    28             class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
    29             properties="replicatePuts=false,replicateUpdatesViaCopy=false" />
    30     </cache>
    31     <!-- DefaultCache setting. Modify ehcache-safe.xml for timeToIdleSeconds,timeToLiveSecond,diskExpiryThreadIntervalSeconds 
    32         Use ehcache-safe.xml default for maxElementsInMemory,maxElementsOnDisk,overflowToDisk,eternal 
    33         Use ehcache default for memoryStoreEvictionPolicy,diskPersistent,. -->
    34     <defaultCache maxElementsInMemory="10000" overflowToDisk="true"
    35         eternal="false" memoryStoreEvictionPolicy="LRU" maxElementsOnDisk="10000000"
    36         diskExpiryThreadIntervalSeconds="600" timeToIdleSeconds="3600"
    37         timeToLiveSeconds="100000" diskPersistent="false" />
    38 </ehcache>
    View Code
  • 相关阅读:
    45
    布里斯班初体验
    走出你的舒适区
    Homebrew- MAC上的包管理利器
    Java经典类库-Guava中的函数式编程讲解
    使用WebDriver遇到的那些坑
    CheckStyle, 强制你遵循编码规范
    利用php的register_shutdown_function来记录php的输出日志
    PHP-redis中文文档
    php中set_time_limit()函数运用
  • 原文地址:https://www.cnblogs.com/Eeexiang/p/9146656.html
Copyright © 2020-2023  润新知