任何一个cache对象的配置属性都可以在cache.properties设置。
{cache-name}.maxSize (内存大小)
{cache-name}.expireTime (失效时间)
{cache-name}.useSoftReference (true 或者 false).
该useSoftReference属性用于指定是否用于缓存条目。可以帮助保持大缓存,同时需要更多的内存垃圾回收器来清除这些项目占用过多内存。
例如
// # 60 min // product.ecconfig.expireTime=3600000 // product.ecconfig.useSoftReference=true public static UtilCache productCache = UtilCache.createUtilCache("product.ecconfig", true);
使用
if(UtilValidate.isNotEmpty(productCache.get(condition))){ long count =(Long) productCache.get(condition); if(count>0){result="Y";} else{result="N";} return result; } try { long count = delegator.findCountByCondition("EcShopProduct", condition, null, null); productCache.put(condition, count); Debug.log(" productCategoryId="+productCategoryId+" productFeatureList="+productFeatureList+" count="+count, module); if(count>0){result="Y";} } catch (GenericEntityException e) { Debug.logError(e.getMessage(), module); return result; }
缓存工具
缓存管理
浏览缓存大小和命中/错失统计
清除全部缓存、单独的缓存甚至单独的缓存行
清除全部过期的缓存记录
管理缓存参数如大小限止、过期时间、软参考等
浏览每个缓存中的单独的元素
附cache的通用使用方法
http://www.amicontech.com/blog/caching-in-opentaps-ofbiz/