在我们开发网站中,必可避免需要将很多经常使用的数据进行缓存处理,这里有一个非常好的开源框架介绍给大家OSCache,而且很好用,还支持集群,强烈推荐大家使用,使用步骤:
- 定义一个标识接口,即实现他的类用来做缓存处理,代码如下
/**
* @author Administrator
* 缓存对象的标识接口
*/
public interface IOSCachable{
public String toString();
}
- 缓存操作类
GeneralCacheAdministrator admin;
public OSCache(){
admin = new GeneralCacheAdministrator();
}
public OSCache(int size) {
admin = new GeneralCacheAdministrator();
admin.setCacheCapacity(size);
}
public void put(String key, String value) {
this.admin.putInCache(key,value);
}
public void put(String key,IOSCachable obj){
this.admin.putInCache(key,obj);
}
public void put(String key,String value,String[] groups){
this.admin.putInCache(key,value,groups);
}
public void put(String key,IOSCachable obj,String[] groups){
this.admin.putInCache(key,obj,groups);
}
public IOSCachable get(String key,int myRefreshPeriod){
try{
return (IOSCachable)this.admin.getFromCache(key,myRefreshPeriod);
}catch(NeedsRefreshException ex){
this.admin.cancelUpdate(key);
return null;
}
}
public Object get(String key){
try{
return this.admin.getFromCache(key);
}catch(NeedsRefreshException ex){
this.admin.cancelUpdate(key);
return null;
}
}
public void flushAll(){
this.admin.flushAll();
}
- 测试代码如下:
//缓存对象
for(int i=0;i<5;i++){
objCmu.put("obj"+i,new CacheBeanTest("myname","ii"+i));
}
//读取缓存
System.out.println(objCmu.get("obj3"));
System.out.println(objCmu.get("obj4"));
System.out.println(objCmu.get("obj7"));
OSCache几个常用的配置参数说明:
#最近最常使用算法 cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache
#先近先出使用算法
cache.algorithm=com.opensymphony.oscache.base.algorithm.FIFOCache
#缓存大小
cache.capacity=1000
分享到:
相关推荐
作为一种广泛应用且高性能的J2EE缓存框架,OSCache能够应用于任何Java应用程序中作为通用缓存解决方案。 **主要特点:** 1. **缓存对象多样性**:不受限制地缓存部分JSP页面或HTTP请求,任何Java对象均可缓存。 2....
`osCache`是一个广泛使用的Java缓存解决方案,它为应用程序提供了内存缓存功能,能够有效地减少对数据库的访问,从而提升整体系统的响应速度。`osCache`的核心库依赖于`commons-logging.jar`,这是一个通用的日志...
oscache是Java缓存解决方案,可以提高应用性能,减少数据库负载。配置oscache时,你需要关注: 1. **Cache Manager**:配置缓存管理器,管理缓存区域和策略。 2. **Cache Regions**:定义不同的缓存区域,根据需求...
- **通用性**:除了Web应用外,Oscache还可以应用于任何Java应用程序,作为一种通用的缓存解决方案。 #### 二、Oscache的优势 Oscache具有多项优势,使其成为众多开发者首选的缓存工具。 ##### (一)Oscache的...
这使得OSCache成为Java应用程序通用缓存解决方案的首选。 JCACHE,即JSR 107,是Java临时内存缓存的标准规范,旨在规定如何在内存中缓存Java对象,包括创建、共享、失效等管理方式。它可以优化如JSP页面中频繁读取...
最初是为了配合Hibernate 2.1版本而设计的,但现在已经被许多项目采用作为通用的缓存解决方案。EHCache支持多种缓存模式,包括本地缓存、分布式缓存等,并且提供了丰富的配置选项来满足不同场景的需求。它的特点还...
1. **非Java实现的通用缓存产品**:如Redis、Memcached等,它们提供了高性能的缓存解决方案,适用于多种编程语言和平台。 2. **基于AJAX技术的浏览器缓存**:利用客户端浏览器的缓存机制,减少数据传输量,提高Web...
- 设计模式是解决软件设计中常见问题的通用解决方案,如单例模式、工厂模式、装饰器模式等。熟悉设计模式能提高代码的可读性和可维护性。 4. **高并发架构与处理方案**: - 高并发架构涉及负载均衡、缓存、数据库...