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;
        }
    }
    
    
  • 相关阅读:
    java鼠标操控小程序
    java多线程三之线程协作与通信实例
    java线程一之创建线程、线程池以及多线程运行时间统计
    newCachedThreadPool的使用
    java多线程 三种实现方式
    Oracle查询练手1
    aspose word for java去除目录文字蓝色样式以及文字下方蓝色下划线
    aspose word for java解决Word中部分表格跨页线框缺失问题
    aspose word for java添加页码并自动生成目录
    aspose word for java调整表格适应页面宽度
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/13186144.html
Copyright © 2011-2022 走看看