oscacheの使用


前にやったプロジェクトは最適化の問題に直面しています.いくつかのウェブサイトの種類のプロジェクトに対して、私達が採用できる方案はデータベースとの交換を減らすことです.これはキャッシュを利用できます.プロジェクトはHibergeを使ってEhcacheの2級キャッシュを使っています.ここではウェブ層でOsccacheを使ってキャッシュします.
  Osccacheダウンロードアドレス
http://www.opensymphony.com/oscache/download.action
必要なjarバッグはあります.Ooscache.jarとlib\commons-loging.jar
開発の過程でoscache.propertiesをsrcの下に置く必要があります.
Ocacheはまたローカルキャッシュとグローバルキャッシュに分けられます.まずいくつかのローカルキャッシュでよく使われているラベルを紹介します.
1.キャッシュされたkeyは要求されたuri+クエリ文字列で構成されます.もしあなたがアクセスしたら
oscache/index.jsp?name=xxx
oscache/index.jsp?name=ppp
二つのキャッシュをもらいます.キャッシュはデフォルトでappicationの範囲に保存されます.キャッシュ時間はデフォルトで3600秒です.つまり1時間です.
2.この時点でキャッシュはnameをkeyとします.要求されたuri+クエリー文字列ではなく、すべての場合にアクセスします.
oscache/index.jsp?name=xxxとoscache/index.jsp?name=ppp
キャッシュを取得します.
<cache:cache key="name">
name=${param.name}
</cache:cache>
3.キャッシュ範囲はセッションに設定します.この時点でキャッシュが保持されているユーザのセッションにおいて、ユーザがブラウザを閉じると、新しいブラウザを再起動します.
元のキャッシュ内容は存在しません.
<cache:cache key="name" scope="session">
name=${param.name}
</cache:cache>
4.下の設定キャッシュ時間は10秒で、10秒を超えるとキャッシュ内容は消えます.
<cache:cache key="name" time="10">
name=${param.name}
</cache:cache>
5.refreshはtrueのためにキャッシュ内容が有効期限切れになります.簡単に言います.この属性はtrueでキャッシュをクリアします.
<cache:cache key="name" time="60" refresh="${param.refresh}">
name=${param.name}
</cache:cache>
ローカルキャッシュの整理キャッシュ方式:
人為管理キャッシュラベル
<cache:flaush scope=「appication」/>
アプリの範囲内のキャッシュをクリアします.
<cache:flush scope=“session”/>
セッション範囲内のキャッシュをクリアします.
<cache:flush scope=「appication」group=「currencvData」/>
appicationの範囲内のグループ名がcurrencvDataであるすべてのキャッシュをクリアします.
ローカルキャッシュの名前が重複している場合は、キャッシュにキャッシュを追加して前のキャッシュに置換します.
グローバルキャッシュの紹介です.ここではweb.xmlの設定だけでグローバルキャッシュに使用できます.
<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>7200</param-value>
		    </init-param>
		    <init-param>
		        <param-name>scope</param-name>
		        <param-value>application</param-value>
		    </init-param>
	</filter>
	<filter-mapping>
		    <filter-name>CacheFilter</filter-name>
		    <url-pattern>/xxx/*</url-pattern>
	</filter-mapping>
グローバルキャッシュは、ページ全体のurlアドレスをkeyキャッシュするページです.
したがって、グローバルキャッシュを使用する前に、どのページのurlがキャッシュされますか?actionを定義する過程で、urlの名前の名前を要求することを考慮する必要があります.
/xxx/*
まとめ:多くのサイトでキャッシュ技術が使われています.OS cacheも広く使われています.使用方法は個人のプロジェクトによって決められています.自分で調べてみます.また、多くのツールやオープンソースの枠組みを知るために、明確なネーミング規定や規定が必要です.プロジェクト開発においても、より多くの規範と制約が必要です.プロジェクトをより良いものにします.オープンソースの枠组みも他の人が书いたプロジェクトだと思います.多くの情报を得ることができます.