`
ry.china
  • 浏览: 139800 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

oscache 使用总结

    博客分类:
  • java
阅读更多

转载链接    http://www.blogjava.net/ruchal/archive/2009/05/31/277420.html?opt=admin

前阵子对公司网站进行了性能优化,其中,有一项就是使用OSCache添加页面的缓存,开始还不以为然,做完缓存后,发现服务器的负载大大减小了,看来还真不能小瞧OSCache。

OSCache 主要用于页面缓存,当然它也可用于数据层缓存,但数据层缓存一般使用ehcache比较成熟。OSCache对于更新较慢的页面(比如一天或半天更新一 次)缓存效果比较好,能大幅降低数据库和服务器的压力,而且OSCache简单易用,是一个非常不错的缓存框架。

OSCache的配置和使用

一、oscache 环境搭建

    1, 从 https://oscache.dev.java.net/files/documents/629/61427/oscache-2.4.1-full.zip 下载        oscache-2.4.1-full版本,并从压缩包中分别拷贝oscache-2.4.1.jar、 oscache.properties、        oscache.tld放入本地项目的应用目录,如下:

         $WEB-APP"WEB-INF"lib"oscache.jar

         $WEB-APP"WEB-INF"classes"oscache.properties

         $WEB-APP"WEB-INF"classes"oscache.tld

     2, 在web.xml 中加入如下配置

         <taglib>
         <taglib-uri>oscache</taglib-uri>
         <taglib-location>/WEB-INF/classes/oscache.tld</taglib-location>
         </taglib>

      3, 如果需要日志输出,可在log4j.properties文件中加入如下配置

          log4j.appender.file=org.apache.log4j.RollingFileAppender
          log4j.appender.file.File=oscache.log
          log4j.appender.file.MaxFileSize=100KB
          log4j.appender.file.MaxBackupIndex=5
          log4j.appender.file.layout=org.apache.log4j.PatternLayout
          log4j.appender.file.layout.ConversionPattern=[start]%d{yyyy/MM/dd/HH:mm:ss}

二、oscache.properties

    主要配置

     1,cache.memory = true
       设置是否使用内存缓存
       可设置为true 或者 false ,默认为true


     2,cache.capacity =10000
       设置缓存对象的最大数量值
       默认是不限制,cache不会移走任何缓存内容,负数被当作不限制


     3,cache.unlimited.disk
       指定硬盘缓存是否要作限制,默认值为false
       false的状况下,硬盘缓存容量将和cache.capacity的值相同


     4,cache.path
        指定硬盘缓存的路径,目录如果不存在将被建立,同时注意oscache应该要有权限写文件系统。
        设置如:cache.path=d:""myapp""cache


     5,cache.persistence.overflow.only
        指定是否只有在内存不足的情况下才使用硬盘缓存。默认值false,推荐使用true如果内存cache被允许的话


三、标签参数介绍


     使用了oscache:cache 的属性:

     key   缓冲的key,可以是任何的字符串,也可以动态生成。在一个范围内必须唯一。默认使用请求的URI和请求的字符串(问号后面的部分)

     scope   范围,有application和session, 默认为 application

     time   缓冲内容的时间(秒),默认为1小时,3600秒,如果为-1则内容永远不过期

     refresh 强制刷新缓存,false 或者true,可以使用此属性受动刷新需立即更新的数据

     groups
设置分组,可以同组的缓冲数据进行控制

     language   语言,默认为当前页面的语言

     还有许多其他的属性,在这里不一一列举


四、oscache 基本用法

    1,设置缓存
       <%@ taglib uri="/WEB-INF/tlds/oscache.tld" prefix="oscache" %>
       <oscache:cache key=”cacheKey” time=”300” scope=”application”>被缓存的列表          </oscache:cache>  其中,cacheKey和time可以自己动态构件,scope(缓存范围) 可以是ession、application

     注意:cacheKey或者time如果是jsp表达式时,如:key=”<%=”string”+variable%>”而不是:key=”string<%=variable%>”,写法要注意,否则页面会报错


     2,刷新缓存

        <%@ taglib uri="/WEB-INF/tlds/oscache.tld" prefix="oscache" %>
        <oscache:flush key=”cacheKey” scope=”application” />


     3,分组缓存

        <cache:flush group='b' scope='application'/>
        <cache:cachekey='cacheKey_1' groups='a,b' duration='5s'>
        这里面的内容被缓存到键值为cacheKey_1,组名为a和b的缓存中,正常情况下,每隔5秒钟刷新一 次,但受上面标签“<cache:flush group='b' scope='application'/>”的影响,它将随每次页面的刷新而刷新
        </cache:cache>

        <cache:cachekey='cacheKey_2' groups='a' duration='5s'>
        这里面的内容被缓存到键值为cacheKey_2,组名为a的缓存中,它将每隔5秒中刷新一次
        </cache:cache>

        <cache:cachekey='cacheKey_3' duration='20s'>
        这里面的内容被缓存到cacheKey_3,组a,b中,组是通过标签<cache: addgroup>而添加的,它也会受本页开头标签“<cache:flush group='b' scope='application'/>”的影响而随页面刷新而刷新
        <cache:addgroup group='a'/>
        <cache:addgroup group='b'/>
        </cache:cache>

        <cache:cachekey='cacheKey_4' duration='20s'>
         这里面的内容被缓存到cacheKey_4,组a,b中,组是通过标签<cache: addgroups>而添加的,它也会受本页开头标签“<cache:flush group='b' scope='application'/>”的影响而随页面刷新而刷新
        <cache:addgroups groups='a,b'/>
        </cache:cache>

分享到:
评论

相关推荐

    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