CacheUtil-缓存工具类

原文链接: http://www.cnblogs.com/huojuncheng/p/3415809.html
package com.zxt.basic.util.cache;

import java.util.List;

import com.zxt.basic.util.cache.ehcache.EHCacheEngine;
import com.zxt.basic.util.cache.memcached.MemcachedEngine;
import com.zxt.basic.util.PropertiesUtil;


/**   
 *    
 * 类名称:CacheUtil  
 * 类描述:缓存工具类   
 * 创建人:niushichao  
 * 创建时间:Jun 21, 2012 8:32:04 AM  
 * 修改人:  
 * 修改时间:Jun 21, 2012 8:32:04 AM  
 * 修改备注:  
 * @version 1.0.0  
 *    
 */
public class CacheUtil {
	//缓存引擎接口	类型变量
	private static CacheEngine ce;
	//属性文件配置的缓存类型变量
	private static final String CACHE_TYPE = "cache.zxt.type";
	static{
		String cacheType = PropertiesUtil.getString(CACHE_TYPE);
		//配置文件未配置“cache.zxt.type”参数,默认使用oscache
		if("ehcache".equals(cacheType)){			
			CacheEngineFactory.setEngine(CacheType.EHCACHE, new EHCacheEngine());
			ce = CacheEngineFactory.getCacheEngine(CacheType.EHCACHE);
		}else if("memcached".equals(cacheType)) {
		        CacheEngineFactory.setEngine(CacheType.MEMCACHED, new MemcachedEngine());
                        ce = CacheEngineFactory.getCacheEngine(CacheType.MEMCACHED);      
                }else{
			ce = CacheEngineFactory.getCacheEngine(CacheType.OSCACHE);	
		}
	}
	
	/** 
	 * @author niushichao   
	 * putInCache  加入缓存项  
	 * @param key  键
	 * @param value值  void
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void putInCache(String key,Object value){			
		try {
                        ce.putInCache(key, value,CacheEngine.DEFAULT_CACHE_NAME);
                } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
	}
	
	
	/** 
	 * @author niushichao   
	 * putInCache  加入缓存项  
	 * @param key  键
	 * @param value值
	 * @param cacheName名称  void
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void putInCache(String key,Object value,String cacheName) {
		try {
                        ce.putInCache(key, value, cacheName);
                } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
	}
	
	
	
	/** 
	 * @author niushichao   
	 * getFromCache  获取缓存项   
	 * @param key 键值
	 * @return  Object
	 * @exception    
	 * @since  1.0.0   
	*/
	public static Object getFromCache(String key){
		return ce.getFromCache(key,CacheEngine.DEFAULT_CACHE_NAME);
	}
	
	
	/** 
	 * @author niushichao   
	 * getFromCache  获取缓存项  
	 * @param key 键
	 * @param cacheName 名称
	 * @return  Object
	 * @exception    
	 * @since  1.0.0   
	*/
	public static Object getFromCache(String key,String cacheName){
		return ce.getFromCache(key, cacheName);
	}
	
	/** 
	 * @author niushichao   
	 * flush  清洗缓存项  
	 * @param key  void
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void flush(String key){
		ce.flush(key,CacheEngine.DEFAULT_CACHE_NAME);
	}
	
	
	/** 
	 * @author niushichao   
	 * flush  清洗缓存项  
	 * @param key 键
	 * @param cacheName 名称 void
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void flush(String key,String cacheName){
		ce.flush(key, cacheName);
	}
	
	
	/** 
	 * @author niushichao   
	 * flushAll  清洗所有缓存项 
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void flushAll(){
		ce.flushAll();
	}
	
	
	/** 
	 * @author niushichao   
	 * flushAll  清洗指定名称的所有缓存项  
	 * @param cacheName 名称 void
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void flushAll(String cacheName){
		ce.flushAll(cacheName);
	}
	
	/** 
	 * @author niushichao   
	 * remove  移除缓存项   
	 * @param key  键值 void
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void remove(String key){
		ce.remove(key,CacheEngine.DEFAULT_CACHE_NAME);
	}
	public static void remove(String key,String cacheName){
		ce.remove(key, cacheName);
	}
	
	/** 
	 * @author niushichao   
	 * removeAll  移除所有缓存项   
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void removeAll(){
		ce.removeAll();
	}
	
	
	/** 
	 * @author niushichao   
	 * removeAll  移除指定名称的所有缓存项 
	 * @param cacheName 名称 void
	 * @exception    
	 * @since  1.0.0   
	*/
	public static void removeAll(String cacheName){
		ce.removeAll(cacheName);
	}
	
	/** 
	 * @author niushichao   
	 * getAllObjFromCache  获取当前缓存中所有缓存项列表  
	 * @return  List
	 * @exception    
	 * @since  1.0.0   
	*/
	public static List getAllObjFromCache(){
		return ce.getAllObjFromCache(CacheEngine.DEFAULT_CACHE_NAME);
	}
	
	
	/** 
	 * @author niushichao   
	 * getAllObjFromCache  获取当前缓存中指定名称的所有缓存项列表  
	 * @param cacheName 名称
	 * @return  List
	 * @exception    
	 * @since  1.0.0   
	*/
	public static List getAllObjFromCache(String cacheName){
		return ce.getAllObjFromCache(cacheName);
	}
}

转载于:https://www.cnblogs.com/huojuncheng/p/3415809.html

猜你喜欢

转载自blog.csdn.net/weixin_30721899/article/details/94795676
今日推荐