zoukankan      html  css  js  c++  java
  • ehcache 缓存

    、通过使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件)

    2、通过配置文件ehcache.xml创建缓存实例

    package org.jeecgframework.cache;
    
    import org.jeecgframework.core.util.StringExt;
    
    public class CacheInstance {
        private static ICache cache = new EHCache();
        /**
         * 加入缓存
         * */
        public static boolean setObject(String key, Object value) {
            if (StringExt.isBlank(key)) {
                return false;
            }
            if(null == value){
                cache.removeObject(key);
                return true;
            }
            return cache.setObject(key, value);
        }
    
        /**
         * 从缓存获取数据
         * */
        public static Object getObject(String key) {
            if (StringExt.isBlank(key)) {
                return null;
            }
            return cache.getObject(key);
        }
    
        /**
         * 删除缓存数据
         * */
        public static boolean removeObject(String key) {
            if (StringExt.isBlank(key)) {
                return false;
            }
            return cache.removeObject(key);
        }
    }

    package org.jeecgframework.cache;
    //   主要方法封装
    import org.ehcache.Cache;
    import org.ehcache.CacheManager;
    import org.ehcache.config.builders.CacheConfigurationBuilder;
    import org.ehcache.config.builders.CacheManagerBuilder;
    import org.ehcache.config.builders.ResourcePoolsBuilder;
    import java.util.*;
    
    public class EHCache implements ICache {
        private static Cache<String, Object> objectCache;
    
        private Cache<String, Object> getObjectCache() {
            if (null == objectCache) {
                CacheManager cacheManager = CacheManagerBuilder
                        .newCacheManagerBuilder()
                        .withCache(
                                "obj",
                                CacheConfigurationBuilder.newCacheConfigurationBuilder(
                                        String.class, Object.class,
                                        ResourcePoolsBuilder.heap(200)).build())
                        .build(true);
                objectCache = cacheManager.getCache("obj", String.class, Object.class);
    
            }
            return objectCache;
        }
    
        public boolean setObject(String key, Object value) {
            getObjectCache().put(key, value);
            return true;
        }
    
        public Object getObject(String key) {
            return getObjectCache().get(key);
        }
    
        public boolean removeObject(String key) {
            getObjectCache().remove(key);
            return true;
        }
    }
    
    
     
  • 相关阅读:
    [CISCN2019 总决赛 Day2 Web1]Easyweb
    [极客大挑战 2019]Upload
    [SUCTF 2019]EasyWeb
    2020/2/1 PHP代码审计之任意文件读取及删除漏洞
    2020/1/31 PHP代码审计之文件包含漏洞
    [Luogu P1120]小木棍&#183;加强版
    学习笔记·堆优化$mathscr{dijkstra}$
    [LuoguP1462]通往奥格瑞玛的道路($SPFA+$二分)
    [USACO08JAN]电话线$Telephone Lines$(图论$+SPFA+$ 二分答案)
    [USACO06NOV]玉米田$Corn Fields$ (状压$DP$)
  • 原文地址:https://www.cnblogs.com/Eeexiang/p/8946386.html
Copyright © 2011-2022 走看看