zoukankan      html  css  js  c++  java
  • 【Spring__ehcache 】ehcache简单使用

    1、配置文件

            <ehcache.version>2.6.11</ehcache.version>
            <ehcache-web.version>2.0.4</ehcache-web.version>
    
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache-core</artifactId>
                <version>${ehcache.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache-web</artifactId>
                <version>${ehcache-web.version}</version>
            </dependency>
    
        <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
            <property name="configLocation" value="classpath:xml/ehcache-local.xml"/>
        </bean>
    

    ehcache-local.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <ehcache updateCheck="false" name="defaultCache">
        <diskStore path="../temp/ehcache"/>
        <!-- 默认缓存配置. 自动失效:最后一次访问时间间隔300秒失效,若没有访问过自创建时间600秒失效。-->
        <defaultCache maxEntriesLocalHeap="1000" eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600"
                      overflowToDisk="true" statistics="true"/>
        <cache name="cache01"
               maxElementsInMemory="1000"
               eternal="false"
               overflowToDisk="false"
               timeToIdleSeconds="60"
               timeToLiveSeconds="60"
               memoryStoreEvictionPolicy="LRU"/>
        <cache name="sysCache" maxEntriesLocalHeap="1000" eternal="true" overflowToDisk="true" statistics="true"/>
        <!-- 简单页面缓存 -->
        <cache name="pageCachingFilter" maxEntriesLocalHeap="1000" eternal="false" timeToIdleSeconds="120"
               timeToLiveSeconds="120" overflowToDisk="true" memoryStoreEvictionPolicy="LFU" statistics="true"/>
        <!-- 系统活动会话缓存 -->
        <cache name="activeSessionsCache" maxEntriesLocalHeap="10000" eternal="true" overflowToDisk="true"
               diskPersistent="true" diskExpiryThreadIntervalSeconds="600" statistics="true"/>
    </ehcache>
    

    2、CacheUtils

    SpringContextHolder

    package com.kikyo.util;
    
    import com.kikyo.listener.SpringContextHolder;
    import net.sf.ehcache.CacheManager;
    import net.sf.ehcache.Cache;
    import net.sf.ehcache.Element;
    
    public class CacheUtils {
        // private static CacheManager cacheManager = SpringContextHolder.getBean("cacheManager");//都可以
        private static CacheManager cacheManager = SpringContextHolder.getBean(CacheManager.class);
        private static final String SYS_CACHE = "cache01";
    
        public static Object get(String key) {
            return get(SYS_CACHE, key);
        }
    
        public static void put(String key, Object value) {
            put(SYS_CACHE, key, value);
        }
    
        public static Object get(String cacheName, String key) {
            Cache cache = getCache(cacheName);
            Element element = cache.get(key);
            return element == null ? null : element.getObjectValue();
        }
    
        public static void put(String cacheName, String key, Object value) {
            Element element = new Element(key, value);
            Cache cache = getCache(cacheName);
            cache.put(element);
        }
    
        public static void remove(String key) {
            remove(SYS_CACHE, key);
        }
    
        public static void remove(String cacheName, String key) {
            getCache(cacheName).remove(key);
        }
    
        private static Cache getCache(String cacheName) {
            Cache cache = cacheManager.getCache(cacheName);
            if (cache == null) {
                throw new RuntimeException("当前系统中没有定义“" + cacheName + "”这个缓存。");
            }
            return cache;
        }
    }
    
    
  • 相关阅读:
    纪念--
    【csp模拟赛1】铁路网络 (network.cpp)
    【csp模拟赛1】不服来战 (challenge.cpp)
    【csp模拟赛1】T1 心有灵犀
    【luoguP3959 宝藏】-状压DP
    透彻网络流-wfx-最大流
    【luogu2668斗地主】模拟
    【hdu4734】F(x)-数位DP
    【8.27-模拟赛】remove
    清北学堂-济南游记
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/13186144.html
Copyright © 2011-2022 走看看