package com.ld.igds.util; import com.bstek.bdf2.core.cache.ApplicationCache; import com.bstek.bdf2.core.context.ContextHolder; /** * 采用BDF CACHE控制 *

* 说明:所有KEY要求默认以组织编码+KEY的形式,以便支持一键刷新当前组织下所有的缓存 * * @author Andy */ public class CacheUtil { public static final String KEY_LIST_BIZ_GROUP = "_KEY_LIST_BIZ_GROUP"; public static ApplicationCache getApplicationCache() { return ContextHolder.getBean(ApplicationCache.BEAN_ID); } /** * 调整KEY的值,添加组织编码 * * @param key * @param companyId * @return */ public static String keyBuilder(String key, String companyId) { if (null == companyId) companyId = ContextUtil.getDefaultCompanyId(); return companyId + "_" + key; } /** * 从缓存当中移除一个对象 * * @param key 要移除的对象的key值 */ public static void removeCache(String key) { getApplicationCache().removeCacheObject(key); } /** * 将一个对象放入缓存当中,同时如果缓存当中有存在相同key的对象,则进行覆盖 * * @param key 对象的key * @param obj 具体对象 */ public static void putCache(String key, Object obj) { getApplicationCache().putCacheObject(key, obj); } /** * 将一个对象放入临时缓存当中,同时如果缓存当中有存在相同key的对象,则进行覆盖,
* 默认情况下,位于临时缓存中对象生命周期为1800秒,也就是半小时 * * @param key 对象的key * @param obj 具体对象 */ public static void putTemporaryCache(String key, Object obj) { getApplicationCache().putTemporaryCacheObject(key, obj); } /** * 从临时缓存当中移除一个对象 * * @param key 要移除的对象的key值 */ public static void removeTemporaryCache(String key) { getApplicationCache().removeTemporaryCacheObject(key); } /** * 根据指定的key,从缓存当中获取一个对象 * * @param key 缓存当中对象的key值 * @return 返回缓存当中与给定key对应的对象值,如果对象不存在,就返回null */ public static Object getCache(String key) { return getApplicationCache().getCacheObject(key); } /** * 从临时缓存当中获取一个被临时缓存对象,
* 默认情况下,位于临时缓存中对象生命周期为1800秒,也就是半小时 * * @param key 缓存当中对象的key值 * @return 返回缓存当中与给定key对应的对象值,如果对象不存在,就返回null */ public static Object getTemporaryCache(String key) { return getApplicationCache().getTemporaryCacheObject(key); } /** * 移除所有Key以keyStartWith变量开头的存储于缓存中的元素 * * @param companyId 所有以该字符串开头的key */ public static void removeCacheByKeyStartWith(String companyId) { getApplicationCache().removeCacheObjectsByKeyStartWith(companyId); } }