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;
        }
    }
    
    
     
  • 相关阅读:
    Sublime Text 3 快捷键汇总
    jquery远程引用地址大全
    我的网站以后要如何设计
    word中特殊符号的替换
    如何有效地提升JavaScript 水平?
    HTML5坦克大战(2)绘制坦克复习
    JavaScript中的对象冒充
    让年轻程序员少走弯路的14个忠告
    ASCII
    可以用旋转法绘制平行四边形
  • 原文地址:https://www.cnblogs.com/Eeexiang/p/8946386.html
Copyright © 2011-2022 走看看