ehcache框架的一些学习

本文介绍了Ehcache中的CacheManager类,其用于创建、管理Cache,包括Element的使用。CacheUtil工具类展示了如何存取缓存,以及获取Cache实例和大小。核心在于CacheManager的创建与Cache操作方法的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.CacheManager

1.CacheManager里面可以管理很多Cache,每个Cache中有多个Element,每个Element中存了缓存的相关信息。
关于Element类的解释可以查看我的另一篇博客,ehcache中的element源码学习
2.CacheManager负责Cache的创建、访问、删除。
3.CacheManager.create():创建一个新的默认配置的单例CacheManager

2.CacheManager的使用

package com.comevv.vvfuture.utils;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
import net.sf.ehcache.config.Configuration;
/**
 * @author st
 * @Date: 2020/9/26 13:08
 * @description
 */

/**
 * 缓存工具类
 */
public class CacheUtil {
    private static CacheManager cacheManager;
    static {
        cacheManager = CacheManager.create();
    }
    /**
     * 存缓存
     * @param cacheName 缓存名
     * @param key       key
     * @param value     value
     */
    public static void putValue(String cacheName, String key, String value) {
        Cache cache = cacheManager.getCache(cacheName);
        if (null == cache) {
            cacheManager.addCache(cacheName);
        } else {
            cache.put(new Element(key, value));
        }
    }

    /**
     * 取缓存
     * @param cacheName
     * @param key
     * @return
     */
    public static Object getValue(String cacheName, String key) {
        Cache cache = cacheManager.getCache(cacheName);
        Element element = cache.get(key);
        System.out.println(element);
        return element == null ? null : element.getObjectValue();
    }

    /**
     * 获取Cache缓存
     * @param cacheName
     * @return
     */
    public static Cache getCache(String cacheName){
        return cacheManager.getCache(cacheName);
    }

    /**
     * 获取缓存数量
     * @param cacheName
     * @return
     */
    public static int getSize(String cacheName){
        return getCache(cacheName).getSize();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值