下列說明 instancename.xml 檔中的預設快取值。雖然您可以直接修改 instancename.xml 檔, 但建議您使用「架構管理程式」來設置快取。
<Cache
AutoPageInvalidation="True"
CacheDirsPerMember="100"
CacheFilePath="絕對路徑名稱"
Enabled="true"
MaxObjectsPerMember="0"
CacheDaemonPort="16999"
CacheDaemonBindAddress="localhost"
CacheConnectionTimeout="120
000"
CacheDaemonMaxThreads="64"
MaxAllowedRefreshPeriod="3600"
CacheCleanupPollingInterval="600"
CacheCleanupAgentHostname="主電腦名稱"
CacheCleanupAgentPort="80"
WebAppPath="/webapp/wcs/stores/servlet"
CacheStoreClassName="com.ibm.commerce.cache.FileSystemCacheStore">
<CacheableURL name="TopCategoriesDisplay" sessionDependent="true">
<KeySet name="Key Set #2" HashKey="catalogId" MemberKey="storeId"
/>
<KeySet name="Key Set #3" HashKey="identifier" MemberKey="storeId"
>
<Key isMandatory="false" name="memberId" />
</KeySet>
</CacheableURL>
<CacheableURL name="CategoryDisplay" sessionDependent="true">
<KeySet name="Key Set #4" HashKey="categoryId" MemberKey="storeId" >
<Key isMandatory="true" name="catalogId" />
</KeySet>
<KeySet name="Key Set #5" HashKey="identifier" MemberKey="storeId" >
<Key isMandatory="false" name="memberId" />
<Key isMandatory="true" name="catalogId" />
</KeySet>
<KeySet name="Key Set #6" HashKey="categoryId" MemberKey="storeId" >
<Key isMandatory="true" name="catalogIdentifiers" />
<Key isMandatory="false" name="catalogMemberId" />
</KeySet>
<KeySet name="Key Set #7" HashKey="identifier" MemberKey="storeId" >
<Key isMandatory="true" name="catalogIdentifiers" />
<Key isMandatory="false" name="catalogMemberId" />
<Key isMandatory="false" name="memberId" />
</KeySet>
</CacheableURL>
<CacheableURL name="ProductDisplay" sessionDependent="true">
<KeySet name="Key Set #8" HashKey="productId" MemberKey="storeId" />
<KeySet name="Key Set #9" HashKey="partNumber" MemberKey="storeId" >
<Key isMandatory="false" name="memberId" />
</KeySet>
</CacheableURL>
</Cache>
- AutoPageInvalidation
- 啟用快取清理工作程式。如果您想使用以觸發指令為基礎的頁面無效或 CacheDelete 指令, 則此為必要參數。預設值為 True。
- CacheDirsPerMember
- 定義就每個成員而言,快取能分成多少個目錄。 有效值範圍從 1-32768。預設值是 100。
對中大型快取(超過 1000 個檔案)而言, 將快取分成數個目錄有助於減少 I/O 競用情況。 一般而言, 您應控制每一個目錄中的檔案數少於 1000 個。- CacheFilePath
- 定義快取目錄的絕對路徑名稱。
如果快取由多個目錄組成,請指定多個 CacheFilePath,其間並以逗點隔開。每一個成員只存在於一個目錄中。 容許有多個案例存在。預設值為:drive:\WebSphere\CommerceServer\instances\instance_name\cache
drive:\Program Files\WebSphere\CommerceServer\instances\instance_name\cache
/usr/WebSphere/CommerceServer/instances/instance_name/cache
/opt/WebSphere/CommerceServer/instances/instance_name/cache
/QIBM/UserData/WebCommerce/instances/instance_name/cache
- Enabled
- 指出是否有啟用快取。
False - 不啟用快取。
True - 啟用快取。此為預設值。- MaxObjectsPerMember
- 設定一個成員在快取中所能放置的檔案數上限。一旦抵達此值時,即會自動移除頁面。 會移除最近檢視的頁面。
若值小於 0,表示每一個成員的檔案數沒有上限。
預設值是 0。- CacheDaemonPort
- 預設埠為 16999。另請參閱 CacheDaemonBindAddress。
- CacheDaemonBindAddress
- 預設值為 localhost。連同 CacheDaemonPort 與 CacheDaemonBindAddress 使用時, 用以識別快取常駐程式所要連結的完整埠位址。
- CacheConnectionTimeout
- 快取從屬站在中止快取要求前所要等待的毫秒數。預設值為 120000(2 分鐘)。
- CacheDaemonMaxThreads
- 在快取常駐程式中最多能啟動多少執行緒,以處理快取頁面。 預設值為 64。
- MaxAllowedRefreshPeriod
- 若快取清理工作程式無法清理快取,則「快取清理常駐程式」會在幾秒過後停用快取。若設為 0,則不限定時間。MaxAllowedRefreshPeriod 的值應為 CacheCleanupPollingInterval 值的 4 倍以上。預設值為 3600 秒。
- CacheCleanupPollingInterval
- 「快取清理常駐程式」要每隔幾秒即向快取清理代理程式查詢一次清理要求。清理要求包括所觸發的要求, 以及 CacheDelete 指令所起始的要求。預設值為 600 秒。
- CacheCleanupAgentHostname
- CacheCleanupAgentHostname 與 CacheCleanupAgentPort 用以識別快取清理代理程式的完整位址。 當將快取清理常駐程式中的 HTTP 要求傳給快取清理代理程式, 以要求取得將從快取中移除的頁面清單時,即會用到此位址。 預設值為您 WebSphere Commerce Server 之完整 TCP/IP 名稱的主電腦名稱。
- CacheCleanupAgentPort
- 預設值是 80。
- CacheStoreClassName
- 僅供內部使用。請勿變更此值。
- WebAppPath
- WebSphere Application Server 路徑。預設值為 /webapp/wcs/stores/servlet。
- Name
- 可快取式 url 的 URL 名稱,像是:CategoryDisplay。
- sessionDependent
- 有效值為:
- True - 快取要求中需含有未在 HTTP 要求中提供的資訊。 要求將以如下的 meta 資料格式儲存,以方便檢索:要求者所屬的成員群組、 貨幣(根據指令環境定義中所含)、語言(根據指令環境定義中所含),以及 CacheCommand 所傳回的任何資料。 如果 sessionDependent 設為 True,就會啟用 Commerce Server 快取來處理快取要求。
- False - 快取要求中不需含有 HTTP 要求中未含的其它資訊。啟用 Web 伺服器快取來處理快取要求。
容許有多個案例存在。KeySet 元素的屬性如下:
- name
- 指令的名稱,例如 CategoryDisplay。
- HashKey
- 指定含有雜湊鍵值的鍵值,例如 CategoryDisplay 指令的雜湊鍵值為 cgrfnbr。
系統會透過雜湊鍵值,來判斷應將快取頁面儲存在哪個目錄中。- MemberKey
- 指定內含成員號碼的鍵值,例如 CategoryDisplay 指令的 MemberKey 為 storeId。
- isMandatory
- 指出在 URL 中鍵值是否為必要的。若未在 URL 中指定必要鍵值,則不會快取該頁面。 有效值為:
- True - 在 URL 要求中必須提供該參數,才能使用快取。
- False - 若有提供值,則快取會採用之,不過即使未在 URL 中提供值, 仍會試著針對該要求使用快取。
- 名稱
- 出現在 URL 中的鍵值名稱,例如 size。
例如,如果您的 ProductDisplay 頁面中會顯示與購物者同髮色的模特兒影像, 則您可在 URL 中加上 "haircolor" 參數。接著,您將指定快取頁面將因 haircolor 參數而有所改變。 其做法是按如下新增 ProductDisplay 鍵值集:
<CacheableURL name="ProductDisplay" sessionDependent="false">
<KeySet name="Key Set #10" HashKey="productId" MemberKey="storeId">
<Key name="haircolor" isMandatory="false"/>
</KeySet>
<KeySet name="Key Set #11" HashKey="partNumber" MemberKey="storeId">
<Key name="haircolor" isMandatory="false"/>
</KeySet>
</CacheableURL>
![]() |