`

通用网站缓存解决方案(OSCache)

阅读更多
在我们开发网站中,必可避免需要将很多经常使用的数据进行缓存处理,这里有一个非常好的开源框架介绍给大家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  




















分享到:
评论

相关推荐

    oscache文档

    作为一种广泛应用且高性能的J2EE缓存框架,OSCache能够应用于任何Java应用程序中作为通用缓存解决方案。 **主要特点:** 1. **缓存对象多样性**:不受限制地缓存部分JSP页面或HTTP请求,任何Java对象均可缓存。 2....

    oscache所需jar包

    `osCache`是一个广泛使用的Java缓存解决方案,它为应用程序提供了内存缓存功能,能够有效地减少对数据库的访问,从而提升整体系统的响应速度。`osCache`的核心库依赖于`commons-logging.jar`,这是一个通用的日志...

    springMvc+Mybatis+spring3.0+oscache配置文件

    oscache是Java缓存解决方案,可以提高应用性能,减少数据库负载。配置oscache时,你需要关注: 1. **Cache Manager**:配置缓存管理器,管理缓存区域和策略。 2. **Cache Regions**:定义不同的缓存区域,根据需求...

    Oscache_入门

    - **通用性**:除了Web应用外,Oscache还可以应用于任何Java应用程序,作为一种通用的缓存解决方案。 #### 二、Oscache的优势 Oscache具有多项优势,使其成为众多开发者首选的缓存工具。 ##### (一)Oscache的...

    Java缓存讨论.pdf

    这使得OSCache成为Java应用程序通用缓存解决方案的首选。 JCACHE,即JSR 107,是Java临时内存缓存的标准规范,旨在规定如何在内存中缓存Java对象,包括创建、共享、失效等管理方式。它可以优化如JSP页面中频繁读取...

    hibernate 二级缓存收集、总结、整理

    4. SwarmCache:由JBoss提供的缓存解决方案。 通用缓存产品有: 1. Memcached:适用于大规模互联网应用,支持分布式缓存。 2. TokyoTyrant:兼容memcached协议,并支持数据持久化和故障转移。 在Web应用中,缓存的...

    Java中各类Cache机制实现解决方案

    最初是为了配合Hibernate 2.1版本而设计的,但现在已经被许多项目采用作为通用的缓存解决方案。EHCache支持多种缓存模式,包括本地缓存、分布式缓存等,并且提供了丰富的配置选项来满足不同场景的需求。它的特点还...

    缓存技术详解

    1. **非Java实现的通用缓存产品**:如Redis、Memcached等,它们提供了高性能的缓存解决方案,适用于多种编程语言和平台。 2. **基于AJAX技术的浏览器缓存**:利用客户端浏览器的缓存机制,减少数据传输量,提高Web...

    00.2、知识点1

    - 设计模式是解决软件设计中常见问题的通用解决方案,如单例模式、工厂模式、装饰器模式等。熟悉设计模式能提高代码的可读性和可维护性。 4. **高并发架构与处理方案**: - 高并发架构涉及负载均衡、缓存、数据库...

Global site tag (gtag.js) - Google Analytics