package com.cesgroup.cesmonitor.common;

import com.cesgroup.framework.commons.SpringContextUtils;

import net.sf.ehcache.Cache;
import net.sf.ehcache.Element;

/**
 * echcache缓存工具类
 *
 * @author zhang.erwei
 * @version 1.0.0 2017年5月24日
 */
public class EhcacheUtil {

    /**
     * 向缓存中存放对象
     *
     * @param key
     *            键值
     * @param value
     *            要存放的对象
     */
    public static void put(String key, Object value) {
        Cache cache = SpringContextUtils.getBean("tjCache", Cache.class);
        Element element = new Element(key, value);
        cache.put(element);
    }

    /**
     * 从缓存中取对象
     *
     * @param key
     *            键值
     * @return 存放的对象
     */
    public static Object get(String key) {
        Cache cache = SpringContextUtils.getBean("tjCache", Cache.class);
        Element element = cache.get(key);
        return element == null ? null : element.getObjectValue();
    }

    /**
     * 从缓存中删除对象
     *
     * @param key
     *            键值
     */
    public static void remove(String key) {
        Cache cache = SpringContextUtils.getBean("tjCache", Cache.class);
        cache.remove(key);
    }
}
