我的ehcache笔记

我的EhcacheUtils类:

package com.shinho.bi.utils;

import org.ehcache.CacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;

public class EhcacheUtils {
    public static CacheManager cacheManager;
    
    public static void openCache(){
        cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
                  .withCache("preConfigured",
                       CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, Object.class,
                                                      ResourcePoolsBuilder.heap(100))
                       .build())
                  .build(true);
    }
    
    public static void closeCache(){
        cacheManager.close();
    }
}

启动并添加一个缓存:

EhcacheUtils.openCache();
        Cache<String, Object> myCache = EhcacheUtils.cacheManager.createCache("myCache", CacheConfigurationBuilder
                .newCacheConfigurationBuilder(String.class, Object.class, ResourcePoolsBuilder.heap(100)).build());

更新缓存:

Map<String, String> sqls = null;
        if(myCache.containsKey("sqls")){
            sqls = (Map<String, String>)myCache.get("sqls");
        }else{
            sqls = new HashMap<String, String>();
        }
        
        sqls.put(fn.replaceAll(".sql", ""), sql);
        myCache.put("sqls", sqls);

读取缓存:

Cache<String, Object> myCache
            = EhcacheUtils.cacheManager.getCache("myCache", String.class, Object.class);
        Map<String, String> sqls = (Map<String, String>)myCache.get("sqls");

原文地址:https://www.cnblogs.com/wpcnblog/p/9242504.html