<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    好·色之徒

    OSCACHE網頁緩存

    Posted on 2007-06-08 14:58 城市劣人 閱讀(1807) 評論(1)  編輯  收藏

    已經轉移到 好·色之徒--我的博客、我的生活

    緩存(CACHE)
    定義:在本地放置、隱藏或存儲常用信息以供快速檢索
    A memory area where frequently accessed data can be stored for rapid access.
    好處:提高系統(tǒng)響應速度、改善系統(tǒng)運行性能的技術。

    面臨的問題
    1、被處理的內容短時間不變,所以短時間內可以作為靜態(tài)內容進行處理
    2、在一個不太長的時間內,被處理的內容可能或者必定產生變化,所以必須將他們作為動態(tài)內容進行處理
    3、在合理的時間區(qū)段內可以忽略被處理內容變化后帶來的影響
    4、對這些內容的處理動作比較消耗系統(tǒng)性能,影響系統(tǒng)響應時間?基礎數據的變更問題
    例子:系統(tǒng)中需要處理的基礎數據;統(tǒng)計報表。

    解決方法
    1、緩存信息
    當上述的基礎數據或者統(tǒng)計報表第一次被訪問時,被處理的內容被當作動態(tài)信息,基礎數庫從數據庫中獲得,統(tǒng)計報表也會被生成符合要求的圖形、文件,然后這些信息都會被放入緩存信息中

    2、響應信息由緩存提供
    當上述的基礎數據或者統(tǒng)計報表繼續(xù)被訪問時,系統(tǒng)將會首先檢查緩存信息中是否有對應的內容和我們設定的緩存規(guī)則,如果符合緩存信息存在而且符合緩存規(guī)則,給出的響應將來自于緩存信息,如果沒有或者緩存信息已經不符合設定的要求,系統(tǒng)將重復上一步的動作。

    在步驟2中,多數情況下,當用戶請求到達時,被處理的內容將來自于緩存,所以大大的減少了與數據庫的交互,或者不再需要為每個請求都生成一次報表圖形或者文件,這部分工作的減少對于降低系統(tǒng)性能消耗、提高系統(tǒng)穩(wěn)定性和并發(fā)處理能力是非常有益的

    OSCACHE
    OSCache是OpenSymphony組織提供的一個J2EE架構中Web應用層的緩存技術實現組件
    特點
    兼容多種支持JSP的web服務器:已經通過兼容測試的web服務器包括OrionServer?、Macromedia?JRun?、BEA?Weblogic?、IBM?Websphere?、Silverstream?、Caucho?Resin?、Tomcat?(4.x及以上版本)?
    可選的緩存區(qū):你可以使用內存、硬盤空間、同時使用內存和硬盤或者提供自己的其他資源(需要自己提供適配器)作為緩存區(qū)。
    使用內存作為緩存區(qū)將可以提供更好的性能?
    使用硬盤作為緩存區(qū)可以在服務器重起后迅速恢復緩存內容?
    同時使用內存和硬盤作為緩存區(qū)則可以減少對內存的占用?
    OSCache中按照緩存范圍的不同分為兩種不同的方式:一種是緩存JSP頁面中部分或者全部內容,一種是基于整個頁面文件的緩存

    另外OSCHACHE還支持:POJO 緩存 、O/R Data Access 緩存 。

    JSP部分內容緩存
    第一次請求到達時,標簽中的內容被處理并且緩存起來,當下一個請求到達時,緩存系統(tǒng)會檢查這部分內容的緩存是否已經失效,主要是以下幾項:
    1.?緩存時間超過了cache標簽設置的time或者duration屬性規(guī)定的超時時間?
    2.?cron屬性規(guī)定的時間比緩存信息的開始時間更晚?
    3.?標簽中緩存的內容在緩存后又被重新刷新過?
    4.?其他緩存超期設定?

    JSP部分內容緩存-一個例子
    /*因為OSCache使用key值來標識緩存內容,使用相同的key值將會被認為使用相同的的緩存內容,所以使用動態(tài)的key值可以自由的根據不同的角色、不同的要求決定使用不同的緩存內容 */
    <cache:cache?key="<%=?product.getId()?%>"?time="1800"?refresh="<%=?needRefresh?%>">
    ?/* JSP代碼內容 或jsp tag*/
    ?<% 代碼%>
    </cache:cache>

    CashFilter實現頁面級緩存
    1、在OSCache組件中提供了一個CacheFilter用于實現頁面級的緩存,主要用于對web應用中的某些動態(tài)頁面進行緩存,尤其是那些需要生成pdf格式文件/報表、圖片文件等的頁面,不僅減少了數據庫的交互、減少數據庫服務器的壓力,而且對于減少web服務器的性能消耗有很顯著的效果。
    2、這種功能的實現是通過在web.xml中進行配置來決定緩存哪一個或者一組頁面,而且還可以設置緩存的相關屬性,這種基于配置文件的實現方式對于J2EE來說應該是一種標準的實現方式了
    3、
    <filter>
    <filter-name>CacheFilter</filter-name>
    <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>
    <init-param>
    <param-name>time</param-name>
    <param-value>60</param-value></init-param>
    <init-param>
    <param-name>scope</param-name>
    <param-value>session</param-value>
    </init-param>
    </filter>

    <filter-mapping>
    <filter-name>CacheFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>

    Feedback

    # re: OSCACHE網頁緩存  回復  更多評論   

    2007-06-09 11:52 by gemi
    前段時間也想把oscache應用在公司的報表系統(tǒng)上,
    但是有個考慮,用戶在訪問報表的時候定義的制作條件,如時間等等
    是不斷變化的,在這個情況下去定義緩存意義就不太大。
    最后只在需要查詢數據庫的界面選擇列表上應用了一下。
    該如何去定義緩存策略?
    希望能與你交流。

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     

    posts - 39, comments - 91, trackbacks - 0, articles - 1

    Copyright © 城市劣人

    好·色之徒
    主站蜘蛛池模板: 亚洲天堂中文字幕在线| 337p欧洲亚洲大胆艺术| 男人进去女人爽免费视频国产| 亚洲成A∨人片在线观看无码| 国产麻豆免费观看91| 99在线免费视频| 亚洲精品无码aⅴ中文字幕蜜桃| 久久精品国产亚洲一区二区三区 | 无码人妻丰满熟妇区免费| 亚洲熟妇无码一区二区三区| 永久亚洲成a人片777777| 男女免费观看在线爽爽爽视频| 爱情岛论坛免费视频| 亚洲最新黄色网址| 国产日韩成人亚洲丁香婷婷| 性xxxxx免费视频播放| 在线免费播放一级毛片| 国内精品久久久久影院亚洲| 久久精品国产亚洲网站| 国产免费av片在线播放| a拍拍男女免费看全片| jizz免费在线观看| 亚洲乱妇熟女爽到高潮的片| 亚洲精品在线免费观看视频| 亚洲人成无码www久久久| 最近中文字幕mv免费高清视频7| 久久伊人免费视频| yellow视频免费在线观看| 亚洲国产欧美国产综合一区| 亚洲日本在线看片| 久久久久亚洲爆乳少妇无| 国产成人综合久久精品免费 | 18禁超污无遮挡无码免费网站国产 | 亚洲精品综合久久中文字幕| 亚洲中文字幕无码永久在线| 日韩视频免费一区二区三区| 日韩视频在线精品视频免费观看 | 亚洲日韩在线中文字幕综合| 亚洲日本国产乱码va在线观看| 久久精品国产亚洲av麻| 亚洲免费观看视频|