一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

OSCache 緩存

 rui5327 2014-01-07
前陣子對(duì)公司網(wǎng)站進(jìn)行了性能優(yōu)化,其中,有一項(xiàng)就是使用OSCache添加頁(yè)面的緩存,開(kāi)始還不以為然,做完緩存后,發(fā)現(xiàn)服務(wù)器的負(fù)載大大減小了,看來(lái)還真不能小瞧OSCache。

OSCache 主要用于頁(yè)面緩存,當(dāng)然它也可用于數(shù)據(jù)層緩存,但數(shù)據(jù)層緩存一般使用ehcache比較成熟。OSCache對(duì)于更新較慢的頁(yè)面(比如一天或半天更新一次)緩存效果比較好,能大幅降低數(shù)據(jù)庫(kù)和服務(wù)器的壓力,而且OSCache簡(jiǎn)單易用,是一個(gè)非常不錯(cuò)的緩存框架。

OSCache的配置和使用

一、oscache 環(huán)境搭建

    1, 從 https://oscache.dev./files/documents/629/61427/oscache-2.4.1-full.zip 下載        oscache-2.4.1-full版本,并從壓縮包中分別拷貝oscache-2.4.1.jar、oscache.properties、        oscache.tld放入本地項(xiàng)目的應(yīng)用目錄,如下:

         $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
       設(shè)置是否使用內(nèi)存緩存
       可設(shè)置為true 或者 false ,默認(rèn)為true


     2,cache.capacity =10000
       設(shè)置緩存對(duì)象的最大數(shù)量值
       默認(rèn)是不限制,cache不會(huì)移走任何緩存內(nèi)容,負(fù)數(shù)被當(dāng)作不限制


     3,cache.unlimited.disk
       指定硬盤緩存是否要作限制,默認(rèn)值為false
       false的狀況下,硬盤緩存容量將和cache.capacity的值相同


     4,cache.path
        指定硬盤緩存的路徑,目錄如果不存在將被建立,同時(shí)注意oscache應(yīng)該要有權(quán)限寫文件系統(tǒng)。
        設(shè)置如:cache.path=d:""myapp""cache


     5,cache.persistence.overflow.only
        指定是否只有在內(nèi)存不足的情況下才使用硬盤緩存。默認(rèn)值false,推薦使用true如果內(nèi)存cache被允許的話


三、標(biāo)簽參數(shù)介紹


     使用了oscache:cache 的屬性:

     key  緩沖的key,可以是任何的字符串,也可以動(dòng)態(tài)生成。在一個(gè)范圍內(nèi)必須唯一。默認(rèn)使用請(qǐng)求的URI和請(qǐng)求的字符串(問(wèn)號(hào)后面的部分) 

     scope  范圍,有application和session, 默認(rèn)為 application 

     time  緩沖內(nèi)容的時(shí)間(秒),默認(rèn)為1小時(shí),3600秒,如果為-1則內(nèi)容永遠(yuǎn)不過(guò)期

     refresh 強(qiáng)制刷新緩存,false 或者true,可以使用此屬性受動(dòng)刷新需立即更新的數(shù)據(jù) 

     groups
 設(shè)置分組,可以同組的緩沖數(shù)據(jù)進(jìn)行控制 

     language  語(yǔ)言,默認(rèn)為當(dāng)前頁(yè)面的語(yǔ)言

     還有許多其他的屬性,在這里不一一列舉


四、oscache 基本用法

    1,設(shè)置緩存
       <%@ taglib uri="/WEB-INF/tlds/oscache.tld" prefix="oscache" %>
       <oscache:cache key=”cacheKey” time=”300” scope=”application”>被緩存的列表          </oscache:cache>  其中,cacheKey和time可以自己動(dòng)態(tài)構(gòu)件,scope(緩存范圍) 可以是ession、application 

     注意:cacheKey或者time如果是jsp表達(dá)式時(shí),如:key=”<%=”string”+variable%>”而不是:key=”string<%=variable%>”,寫法要注意,否則頁(yè)面會(huì)報(bào)錯(cuò)


     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'>
        這里面的內(nèi)容被緩存到鍵值為cacheKey_1,組名為a和b的緩存中,正常情況下,每隔5秒鐘刷新一 次,但受上面標(biāo)簽“<cache:flush group='b' scope='application'/>”的影響,它將隨每次頁(yè)面的刷新而刷新
        </cache:cache>

        <cache:cachekey='cacheKey_2' groups='a' duration='5s'>
        這里面的內(nèi)容被緩存到鍵值為cacheKey_2,組名為a的緩存中,它將每隔5秒中刷新一次
        </cache:cache>

        <cache:cachekey='cacheKey_3' duration='20s'>
        這里面的內(nèi)容被緩存到cacheKey_3,組a,b中,組是通過(guò)標(biāo)簽<cache: addgroup>而添加的,它也會(huì)受本頁(yè)開(kāi)頭標(biāo)簽“<cache:flush group='b' scope='application'/>”的影響而隨頁(yè)面刷新而刷新
        <cache:addgroup group='a'/>
        <cache:addgroup group='b'/>
        </cache:cache>

        <cache:cachekey='cacheKey_4' duration='20s'>
         這里面的內(nèi)容被緩存到cacheKey_4,組a,b中,組是通過(guò)標(biāo)簽<cache: addgroups>而添加的,它也會(huì)受本頁(yè)開(kāi)頭標(biāo)簽“<cache:flush group='b' scope='application'/>”的影響而隨頁(yè)面刷新而刷新
        <cache:addgroups groups='a,b'/>
        </cache:cache>

五、參考資料

    1,oscache-2.4.1-full 中的demo,下在地址:
       https://oscache.dev./files/documents/629/61427/oscache-2.4.1-full.zip
    2,oscache API:http://www./oscache/api/ 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    东京热一二三区在线免| 亚洲精品美女三级完整版视频| 国产在线小视频你懂的| 九九热精品视频免费在线播放| 一区二区三区国产日韩| 黄片免费在线观看日韩| 欧洲偷拍视频中文字幕| 国产精品伦一区二区三区四季| 色老汉在线视频免费亚欧| 亚洲视频一级二级三级| 办公室丝袜高跟秘书国产| 欧美韩日在线观看一区| 中文字日产幕码三区国产| 东京热一二三区在线免| 欧美成人免费夜夜黄啪啪| 搡老熟女老女人一区二区| 91老熟妇嗷嗷叫太91| 久久青青草原中文字幕| 国产在线一区二区三区不卡| 国产综合一区二区三区av| 亚洲最新中文字幕一区| 伊人久久青草地婷婷综合| 精品国产亚洲免费91| 国产亚洲成av人在线观看| 我想看亚洲一级黄色录像| 人妻熟女中文字幕在线| 国产又黄又猛又粗又爽的片| 99热在线精品视频观看| 国产成人精品在线播放| 欧洲偷拍视频中文字幕| 伊人久久青草地婷婷综合| 精品国产亚洲免费91| 国产99久久精品果冻传媒| 国产精品亚洲一级av第二区| 国产精品白丝久久av| 亚洲中文字幕一区三区| 欧美黄色成人真人视频| 高清一区二区三区四区五区| 久久热在线视频免费观看| 自拍偷拍一区二区三区| 激情亚洲内射一区二区三区|