osCache 简单使用
来源:互联网 发布:淘宝协商历史 编辑:程序博客网 时间:2024/05/21 06:50
Cache是一种提高系统的响应速度,改善系统的运行性能的技术.OSCache是OpenSymphony组织提供的一个J2EE架构中Web应用层的缓存技术实现组件.
主要特点
1.可选的缓存区,可以将内存,硬盘或者同时使用内存和硬盘作为缓存区.
2.多种缓存级别,包括页面部分内容或者页面级内容.
3.容错功能,当web应用和数据库之间无法进行交互时,可以使用缓存,为用户提供数据.
1:oscache文件下载
http://www.opensymphony.com/oscache/download.html,目前版本为2.4.1。可以下载 oscache-2.4.1-full文件。里面包含example。
2:解压压缩包,找到oscache.jar.放入工程。
3:基础操作工具类
import java.util.Date;import com.opensymphony.oscache.base.CacheEntry;import com.opensymphony.oscache.base.EntryRefreshPolicy;import com.opensymphony.oscache.base.NeedsRefreshException;import com.opensymphony.oscache.general.GeneralCacheAdministrator;/** * @author liuyb */public class BaseCache extends GeneralCacheAdministrator {// 过期时间(单位为秒);private int refreshPeriod;// 关键字前缀字符;private String keyPrefix;private static final long serialVersionUID = -4397192926052141162L;public BaseCache(String keyPrefix, int refreshPeriod) {super();this.keyPrefix = keyPrefix;this.refreshPeriod = refreshPeriod;}/** * 添加被缓存的对象; */public void put(String key, Object value) {this.putInCache(this.keyPrefix + "_" + key, value);}/** * 删除被缓存的对象; */public void remove(String key) {this.flushEntry(this.keyPrefix + "_" + key);}/** * 删除所有被缓存的对象; */public void removeAll(Date date) {this.flushAll(date);}public void removeAll() {this.flushAll();}/** * 获取被缓存的对象; */public Object get(String key) throws Exception {try {return this.getFromCache(this.keyPrefix + "_" + key,this.refreshPeriod);} catch (NeedsRefreshException e) {this.cancelUpdate(this.keyPrefix + "_" + key);throw e;}}/** * * @param key * @param refreshPeriod * @return 被缓存的对象 * @throws Exception */public Object get(String key, int refreshPeriod) throws Exception {try {return this.getFromCache(this.keyPrefix + "_" + key, refreshPeriod);} catch (NeedsRefreshException e) {this.cancelUpdate(this.keyPrefix + "_" + key);throw e;}}}
4:操作使用
import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import com.opensymphony.oscache.base.NeedsRefreshException;@Componentpublic class PersonCompanyModiCached {@Autowiredprivate PersonCompanyModiSrv personCompanyModiSrv;private static Logger logger = Logger.getLogger(PersonCompanyModiCached.class);private static String PERSON_COMPANY_MODI_CACHE = "personCompanyModiCache";private static Long indexSysID = 5L;static class PersonCompanyModiCache {private static BaseCache personCompanyModiCached = null;public static BaseCache getInstance() {if (personCompanyModiCached == null) {personCompanyModiCached = new BaseCache(PERSON_COMPANY_MODI_CACHE, 3600);//秒为单位的}return personCompanyModiCached;}}public static void cleanCache() {logger.debug("CleanpersonCompanyModiCacheJob...");PersonCompanyModiCache.getInstance().removeAll();}}
PersonCompanyModiCache.getInstance().put(wpId, "1");
- osCache 简单使用
- 使用OSCache进行简单的缓存
- oscache的简单配置与使用
- OSCache使用
- OScache使用
- OSCACHE使用
- oscache 使用
- Spring+Hibernate:使用注释和OSCache整合的简单实例
- OSCache简单例子
- OSCache简单应用
- springmvc+oscache 简单实例
- OSCache简单例子
- OSCache----Hibernate和 OsCache的使用
- OSCache----Hibernate和 OsCache的使用
- (转)OSCache使用
- oscache缓存使用总结
- OSCache使用介紹
- oscache缓存使用总结
- jquery实现表单验证
- 腾讯QQ是用什么语言写的?
- jquery 设置元素相对于另一个元素的top值
- 超级实用且不花哨的js代码大全
- 让你对Digital Camera完全了解的88条名词解释
- osCache 简单使用
- Android-Adapter
- 关于database product name cannot be null的解决方法
- POJ 1562 Oil Deposits
- Delphi 实现任务栏多窗口图标显示
- 项目问题2
- Python的IDLE工具安装
- do not try to modified the value in const region
- 模板语言NVelocity的注意点(1)