缓存工具类CacheUtil

--29次检阅--作者:admin
package com.ruixin.common.utils;

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

/**
 * Cache工具类
 */
public class CacheUtils {
   
   private static CacheManager cacheManager = ((CacheManager)SpringContextHolder.getBean("shiroCacheManager"));

   /**
    * 获取缓存
    * @param cacheName
    * @param key
    * @return
    */
   public static Object get(String cacheName, String key) {
      Element element = getCache(cacheName).get(key);
      return element==null?null:element.getObjectValue();
   }


   /**
    * 写入缓存
    * @param cacheName
    * @param key
    * @param value
    */
   public static void put(String cacheName, String key, Object value) {
      Element element = new Element(key, value);
      getCache(cacheName).put(element);
   }

   /**
    * 从缓存中移除
    * @param cacheName
    * @param key
    */
   public static void remove(String cacheName, String key) {
      getCache(cacheName).remove(key);
   }
   
   /**
    * 获得一个Cache,没有则创建一个。
    * @param cacheName
    * @return
    */
   private static Cache getCache(String cacheName){
      Cache cache = cacheManager.getCache(cacheName);
      if (cache == null){
         cacheManager.addCache(cacheName);
         cache = cacheManager.getCache(cacheName);
         cache.getCacheConfiguration().setEternal(true);
      }
      return cache;
   }

   public static CacheManager getCacheManager() {
      return cacheManager;
   }
   
}


评论
     o(╥﹏╥)o,暂无相关评论!快来添加第一条评论吧。。。
哎呀呀,登陆后才能发表评论哦~
登录/注册