`
kongshanxuelin
  • 浏览: 931172 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

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

阅读更多

在我们开发网站中,必可避免需要将很多经常使用的数据进行缓存处理,这里有一个非常好的开源框架介绍给大家OSCache,而且很好用,还支持集群,强烈推荐大家使用,使用步骤:

  1. 定义一个标识接口,即实现他的类用来做缓存处理,代码如下
    /**
     * @author Administrator
     * 缓存对象的标识接口
     */
    public interface IOSCachable{
    	public String toString();
    }
     
  2. 缓存操作类
    	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();
    	}
  3. 测试代码如下:

 

//缓存对象
		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
 
8
2
分享到:
评论
7 楼 lveyo 2008-11-19  
OSCache在页面缓存方面比较强大,EHCache对对象缓存比较好。
LZ介绍的是缓存的最基本的应用。
6 楼 aaronluo 2008-11-18  
和HashMap有区别吗
5 楼 guazi 2008-10-20  
太粗略了把。要讲就讲清楚一点。
4 楼 grandboy 2008-10-20  
楼主,能不能把相关的源码全给出来呀? 谢谢。我也用过这个,就是不知道是不是最合理, 是不是和楼主用法的细节一样。还有我一直没有搞懂他是怎么支持集群的? 能不能具体讲一下原理?非常感谢。
3 楼 linzy410 2008-10-19  
习惯用memcached了,
2 楼 lovpg 2008-10-17  
搞这么麻烦干嘛?系统定时wget一下不就静态化了?而且是系统与服务器的通信,开销要比现在的小多了!
1 楼 unika_ly12 2008-10-17  
恩,看起来不错。

相关推荐

    oscache缓存技术

    osCache是一款广泛应用于Java应用程序中的开源缓存解决方案,由OpenSymphony团队开发。它提供了一种高效、可扩展的方式来管理应用程序中的数据缓存,从而提高系统的性能和响应速度。osCache的核心功能包括缓存对象、...

    MysqL缓存的解决方案

    "MySQL缓存的解决方案" MySQL 缓存是提高数据库性能的一种重要手段,它可以减少数据库的读写次数,从而提高系统的整体性能。以下将对 MySQL 缓存的解决方案进行详细的介绍。 缓存的必要性 缓存的主要目的是减少...

    OsCache缓存框架使用示例

    总结来说,OsCache是一个强大的缓存解决方案,尤其适用于Java Web应用。通过合理地使用OsCache,我们可以优化数据访问,提高系统的响应速度,同时减轻服务器的压力。在天气预报的示例中,OsCache不仅简化了代码,还...

    oscache缓存技术应用

    OSCache是由OpenSymphony开发的一种创新缓存解决方案,它允许在现有的JSP页面内部实现内存缓存功能。OSCache是一个广泛采用的高性能J2EE缓存框架,不仅适用于Java应用程序,还被JBoss、Hibernate、Spring等框架所...

    基于OSCache的页面缓存(收藏)

    OSCache提供了一套完整的解决方案,包括缓存的创建、管理和更新机制。 在OSCache中,缓存是通过一个Key-Value对的形式存在的,Key通常是页面的URL或者一些标识页面内容的唯一键,Value则是页面的内容。当用户请求一...

    oscache缓存

    osCache是Java平台上的一个高效的缓存解决方案,主要用于在应用程序中缓存数据,以提高性能和减少数据库的负载。这个工具特别适用于那些需要频繁访问但更新不频繁的数据,例如经常查询但很少更改的数据库记录。...

    OSCache缓存技术

    Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出...OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存解决方案。

    oscache-java缓存框架

    - **Java缓存框架**:在Java环境中,缓存框架如osCache提供了一套完整的解决方案,帮助开发者轻松集成和管理缓存。 2. **osCache的核心功能** - **对象缓存**:osCache允许开发者将Java对象直接放入缓存,便于...

    oscache缓存技术入门实例

    总结,osCache是一个功能丰富的缓存解决方案,特别适合于Java应用的性能优化。通过合理的配置和使用,可以显著提升系统的响应速度,减轻数据库压力,但同时也要根据项目需求选择最适合的缓存策略和工具。

    oscache缓存配置

    osCache是Java平台上的一个高效、易用的缓存解决方案,它由Tuckey组织开发,广泛应用于各种Web应用中,以提高数据读取速度,减轻数据库压力。osCache的核心功能是提供了一个内存中的对象缓存系统,通过将常用数据暂...

    oscache的例子

    OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存解决方案。 OSCache的特点 (1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以...

    oscache缓存中间件

    OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存...OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存解决方案。

    OSCache缓存技术(6)【实例】

    OSCache是开源的Java缓存解决方案,主要用于提高应用程序性能,减少对数据库的访问频率,从而降低系统的整体负载。本篇文章将深入探讨OSCache的核心概念、配置、使用实例以及其在实际开发中的应用。 首先,OSCache...

    osCache,缓存

    osCache是一款广泛应用于Java开发中的高效缓存解决方案。它由OpenSymphony开源组织开发,旨在提供内存中的对象缓存服务,以提升应用性能并减轻数据库负载。osCache的核心功能是将频繁访问的数据存储在内存中,避免了...

    oscache对象缓存

    总的来说,oscache作为一款强大的对象缓存工具,为Java开发者提供了高效的数据缓存解决方案。理解其工作原理和使用方式,有助于优化应用性能,提升用户体验。在实践中,开发者应结合具体业务需求,灵活运用oscache的...

    hibernate+oscache实现二级缓存实例

    为了提高系统性能,通常会采用缓存技术来减少对数据库的直接访问,而OSCache就是一种广泛使用的开源缓存解决方案。本实例将介绍如何结合Hibernate和OSCache实现二级缓存,以优化应用程序的性能。 一级缓存是...

    oscache-JSP缓存

    osCache是由OpenSymphony开源组织开发的一个高效、易用的缓存解决方案,特别适用于Java Web应用程序,尤其是JSP页面。它为开发者提供了一种在JSP页面内部实现快速内存缓存的机制,从而显著提升了Web应用的性能。本文...

Global site tag (gtag.js) - Google Analytics