快取參數

下列說明 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>

Cache
Cache 元素中含有所有快取參數的相關架構資訊。其所含的屬性如下:
AutoPageInvalidation
啟用快取清理工作程式。如果您想使用以觸發指令為基礎的頁面無效或 CacheDelete 指令, 則此為必要參數。預設值為 True。
CacheDirsPerMember
定義就每個成員而言,快取能分成多少個目錄。 有效值範圍從 1-32768。預設值是 100。
對中大型快取(超過 1000 個檔案)而言, 將快取分成數個目錄有助於減少  I/O 競用情況。 一般而言, 您應控制每一個目錄中的檔案數少於 1000 個。
CacheFilePath
定義快取目錄的絕對路徑名稱。
如果快取由多個目錄組成,請指定多個 CacheFilePath,其間並以逗點隔開。每一個成員只存在於一個目錄中。 容許有多個案例存在。預設值為:
下列資訊適用於 Windows(301 個位元組)drive:\WebSphere\CommerceServer\instances\instance_name\cache

下列資訊適用於 Windows(301 個位元組)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
CacheableURL
此元素含有特定的 URL 架構。容許有多個案例存在。 CacheableURL 元素所含的屬性如下:
Name
可快取式 url 的 URL 名稱,像是:CategoryDisplay。
sessionDependent
有效值為:
KeySet
鍵值集為給定指令的所有必要參數清單。有些指令可接受多個鍵值集,以 CategoryDisplay 為例, 即有四個鍵值集:

容許有多個案例存在。KeySet 元素的屬性如下:

name
指令的名稱,例如 CategoryDisplay。
HashKey
指定含有雜湊鍵值的鍵值,例如 CategoryDisplay 指令的雜湊鍵值為 cgrfnbr。
系統會透過雜湊鍵值,來判斷應將快取頁面儲存在哪個目錄中。
MemberKey
指定內含成員號碼的鍵值,例如 CategoryDisplay 指令的 MemberKey 為 storeId。
Key
此元素含有單一鍵值的架構資訊,例如:prrfnbr 鍵值。鍵值名稱不能是成員鍵值或雜湊鍵值字所用的鍵值。容許有多個案例存在。key 元素所含的屬性如下:
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>

相關概念(1275 個位元組)

相關作業

相關參照(1292 個位元組)

IBM copyright