`
jack.zhao829
  • 浏览: 24943 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OSCache使用总结

阅读更多

1.介绍:

  OSCache是一个广泛采用的高性能的J2EE缓存框架,能用于任何Java应用程序的缓存解决方案,它也是一种开创性的JSP地址标记应用,提供了在现有JSP页面之内实现快速缓冲功能。

2.特点:

   可以缓存任何对象,不受限制的的缓存部分JSP页面或者HTTP请求。

   永久缓存,缓存能随意的写入硬盘或者数据库

   支持集群,集群缓存的数据能进行单个参数配置,不需要修改代码

   缓存的有效期,可以最大限度的控制缓存对象的过期,包括可插入式刷新策略

3.配置:

  cache.memory:值为true或false,默认为用内存作为缓存(如果设置为false,那么擦车只能缓存到硬盘或数据库中)

   cache.capacity:缓存元素个数

   cache.persistenece.class:持久化缓存类,如此类打开,必须修改oscache.properties中的cache.path信息(win系统类路径类似为c:\\web\\cacheinfo,unix系统类路径类似为/opt/web/cacheinfo)

   cache.cluster 设置集群相关信息,如:cache.cluster.multicast.ip为广播IP地址,cache.cluster.properties为集群属性

4.缓存过滤

    在web.xml中定义缓存过滤器,定义缓存特定资源(cacheFilte只捕获http头为200的页面请求)

5.oscache和hashmap的比较:

   在多线程环境中oscache比hashmap的并发性好,hashmap是对整个hashmap加锁,而oscache是对各个缓存对象更新加锁

  oscache的cache是由并发读,互斥写机制实现的,可以失效读的并发,但不支持并发写,jdk1.5下的concurrentHashMap是支持并发读和并发写的一个map,其性能会更高

6.oscache主要有三类操作(getFromCache,putInCache,removeEntry):

    第一次调用getFromCache会抛异常,抛异常的时候标示需要更新缓存(putInCache),而且一定要对缓存更新或者取消更新,否则会占用缓存对象的锁,其他线程调用getFromCache的时候会被阻塞,更新缓存的时候调用putInCache,如果失败则调用cancelUpdate,否则也会阻塞其他线程,其中更新缓存状态的方法有cancelUpdate,completeUpdate,putInCache执行成功则会调用completeUpdate,否则应该调用cancelUpdate,而且getFromCache方法在缓存失效是会执行startUpdate也会改变缓存状态,这时需要调用cancelUpdate或者putInCache。

7.用到的jar包:

      <dependency>

          <groupId>opensymphony</groupId>

          <artifactId>oscache</artifactId>

          <version>2.4.1</version>

        </dependency>

       <dependency>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

            <version>1.1.3</version>

       </dependency>

        <dependency>

            <groupId>log4j</groupId>

            <artifactId>log4j</artifactId>

            <version>1.2.17</version>

       </dependency>

8.示例如下:

public class OSCacheUtils{

private GeneralCacheAdministrator cacheAdmin;

//获取缓存信息

    public String getCacheInfo() {

// 加入oscache缓存,缓存的有效期是5分钟

try {

if (cacheAdmin == null) {

cacheAdmin = new GeneralCacheAdministrator();

}

Object result = cacheAdmin.getFromCache("mykey",

5 * 60);

if (result != null) {

return result.toString();

}

} catch (NeedsRefreshException e) {

try {

String str ="make your uncomfortable";

cacheAdmin.putInCache("mykey", str);

return str;

} catch (IOException e1) {

logger.error("error", e1);

}

} catch (Exception ex) {

cacheAdmin.cancelUpdate("mykey");

logger.error("error", ex);

}

return "error";

}

}

 

 

   

 

分享到:
评论

相关推荐

    oscache缓存使用总结.doc

    OSCache 是一个广泛使用的开源缓存解决方案,尤其在Java应用中,它被JBoss, Hibernate, Spring等知名框架所支持。其主要特点是配置简单,适用于页面级别的缓存管理。以下是对OSCache配置和使用过程的详细说明: 1. ...

    OsCache缓存框架使用示例

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

    OSCache配置说明文档

    总结预研结果,讨论OSCache在项目中的可行性,提出可能遇到的问题及解决方案,并为后续的集成和优化工作制定计划。 通过以上内容,读者应能深入理解OSCache的工作原理,熟练掌握其配置和使用,从而在实际项目中发挥...

    教你如何用好oscache的详细文档

    在本文中,我们将深入探讨 osCache 的核心概念、使用场景以及如何在项目中有效地利用它。** ### 一、缓存的重要性 在Web应用中,缓存是一种常见的优化手段,它能够显著提升系统的响应速度,减轻数据库的压力。当...

    oscache缓存技术入门实例

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

    OSCache 缓存对象的总结

    这篇博客文章“OSCache 缓存对象的总结”主要探讨了OSCache在实际开发中的应用及其核心特性。 首先,我们需要理解缓存的基本概念。缓存是一种存储技术,用于暂时存放经常访问的数据,以便快速获取,减少对主存储器...

    oscache处理

    总结来说,osCache是一个强大且灵活的缓存工具,它可以与Struts2、iBatis和Spring等框架无缝集成,提升Java Web应用的性能。理解并熟练运用osCache的配置和管理,对于优化应用程序的运行效率至关重要。

    oscache缓存技术

    **osCache缓存技术详解** ...总结来说,osCache是一个强大的工具,它简化了Java应用程序的缓存管理,提高了系统性能。通过合理配置和使用,开发者可以充分利用osCache的功能,为应用程序带来显著的性能提升。

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

    总结起来,OSCache作为一款强大的缓存工具,为Java开发者提供了便捷的页面缓存功能。通过合理配置和编程,我们可以有效地利用OSCache提高Web应用的性能,减轻服务器负担,提升用户体验。同时,结合源码阅读和实践,...

    Cache技术--OSCache

    总结,OSCache作为一款强大的缓存框架,不仅提高了Web应用的性能,还提供了高度定制化的缓存策略和广泛的平台支持。对于Java开发者而言,掌握OSCache的使用能够有效提升项目效率,优化系统架构。

    Oscache-入门教程.doc

    总结起来,Oscache 是一个强大且易用的缓存解决方案,它提供了多种缓存策略和高度的定制性,能够有效地提升 Web 应用的性能,减少数据库负载,同时在系统出现问题时提供容错能力。对于任何希望优化性能的 Java 应用...

    oscache-JSP缓存

    本文将深入探讨osCache的核心概念、工作原理以及如何在实际项目中进行配置和使用。 **1. osCache的基本概念** osCache是一个基于Java的缓存框架,主要针对JSP页面和Java对象的缓存。它通过将常用的数据存储在内存...

    oscache-2.0.jar

    总结,OSCache作为一个强大的缓存解决方案,为企业级Java应用提供了高性能的缓存支持。理解和熟练运用OSCache,有助于提升系统的运行效率,降低数据库压力,从而优化整体架构。在实际开发中,我们需要根据项目需求,...

    OSCACHE配置,文档,示例,JAR包

    本篇将详细介绍OSCache的基本配置、文档资料、示例应用以及如何使用JAR包。 ### 一、OSCache配置 OSCache的配置主要通过XML文件进行,一般情况下,这个文件被称为`oscache.xml`。配置文件包括了缓存管理、缓存策略...

    oscache 集群和数据同步

    osCache使用了基于JGroups的组通信协议来实现集群间的通信,JGroups提供了可靠的组成员发现和消息传递机制。 三、数据同步机制 osCache的数据同步策略主要基于两种机制:推送(Push)和拉取(Pull)。 1. 推送...

    OSCache简介

    总结来说,OSCache 是一个强大的Java缓存工具,它提供了丰富的功能和高度的灵活性,能够帮助开发者优化应用性能,减少数据库访问压力,尤其是在高并发场景下,其价值更为显著。通过学习和掌握OSCache 的使用,开发者...

    oscache-2.3.jar

    总结,oscache-2.3.jar作为一款成熟的Java缓存框架,为开发者提供了便捷高效的缓存解决方案。正确理解和运用oscache,能有效提升Java应用程序的性能,降低系统负载,从而提高用户体验。对于Java开发者来说,掌握...

Global site tag (gtag.js) - Google Analytics