快取概觀

系統中的大量資訊不會經常變更。為了避免每次一般使用者或批次處理需要此類型的資訊時存取資料庫,系統會在 Web 伺服器與批次執行緒集區背景工作中維護靜態資訊快取。這些稱為「應用程式快取」。一些應用程式快取範例包含

  • 系統訊息

  • 欄位標籤與其他欄位資訊

  • 安全性資訊

架構產品為常用 (和不會經常變更) 資料提供許多特定快取。此外,特定邊緣應用程式可以視需要引入其他快取。

資訊也可以快取在每個使用者的瀏覽器中。

下列主題著重於重新整理各種快取的相關資訊。

伺服器快取

伺服器快取是指在 Web 伺服器上快取的資料。此快取的一個重要用途是供使用者線上存取應用程式。快取有助於在整個系統中導覽時提升效能,允許從快取存取資料,而不是一律存取資料庫。除了使用者存取 Web 伺服器快取之外,其他部署到 Web 伺服器的功能也可以按照類似的方式使用快取。例如,將 Web 服務部署到 Web 伺服器並存取自己的快取版本。

每當 Web 伺服器重新啟動時,就會清除快取的內容。這表示一旦使用者和 Web 服務再次開始使用該應用程式,就會從資料庫擷取全新的值。

產品還提供排清指令,使用者可以在瀏覽器的 URL 中發出該指令,以立即清除快取的內容。指令 flushAll.jsp 會排清每個快取。

例如,假設以下情況:

  • 您使用的 Web 伺服器和連接埠為 OU-Production:7500
  • 您將記錄新增至控制資料表,並希望它可立即用於適當的交易

您會在瀏覽器的網址列中發出下列指令: http://OU-Production:7500/flushAll.jsp。請注意,此指令會取代埠號後面出現的典型 cis.jsp。

如果系統已正確設定,flushAll 指令會提交要求,以執行「全域」快取排清 (包括 Web 服務快取和執行緒集區背景工作快取)。此功能使用 JMS 主題來發布排清要求。如需如何設定 JMS 主題的明細,請參閱伺服器管理指南

另請注意,系統提供的業務服務為 F1-FlushAllService,相當於 flushAll 指令 (但它不會重新啟動瀏覽器階段作業)。對於為確保立即排清快取而建立且用於協調組態資料更新的任何處理而言,此服務非常有用。此業務服務也會公開為 REST Web 服務。

批次快取

提交批次工作時,批次元件會使用休眠資料快取來快取不常變更的管理資料。資料表的記錄如果包含在此快取中,會使用已為批次作業進行快取快取模式值設定資料表。這通常稱為「L2 快取」。如需詳細資訊,請參考資料表。啟動執行緒集區背景工作時,只要該執行緒集區處於執行中,系統就會載入並快取資料表中標示為已快取的資料。

此外,批次工作也可以在適用時存取應用程式快取。啟動執行緒集區背景工作時,只要該執行緒集區處於執行中,系統就會載入並快取已快取的應用程式資料。

如果有任何更新資料表的批次工作標示為針對批次進行快取,您必須使用已設定停用快取的特殊執行緒集區執行該批次工作。請聯絡系統管理員,以確認以此方式設定的執行緒集區。

如果應可供下一個快取工作使用的快取資料發生變更,下列各點指出如何重新整理快取:

  • 系統預設是設定為每 60 秒鐘自動重新整理休眠快取。不過,實作可以置換組態來變更間隔秒數,或完全停用自動快取。批次工作所使用的應用程式快取並不受此重新整理影響。

  • 重新啟動執行緒集區背景工作。

  • 執行 F1–FLUSH (排清所有快取) 背景處理。此背景處理會排清為所有執行緒集區的所有執行緒集區背景工作快取的應用程式資料。

  • 如果您的區域已如伺服器快取區段所述,設定讓執行緒集區背景工作「監聽」全域排清要求,則發出 flushAll 指令時,就會一併重新整理執行緒集區背景工作快取。

用戶端快取

除了 Web 伺服器的快取之外,也會快取每個使用者瀏覽器上的資訊。清除 Web 伺服器上所維護的快取之後,您也必須清除用戶端瀏覽器上所維護的快取。若要執行此操作,請依照下列步驟進行 (請注意,視您使用的瀏覽器而定,步驟可能略有不同):

  • 選取瀏覽器功能表列上的工具
  • 選取所顯示功能表上的網際網路選項
  • 按一下所顯示蹦現視窗上的刪除檔案按鈕。
  • 開啟所顯示後續蹦現視窗上的刪除所有離線內容,然後按一下確定
  • 然後輸入標準 URL 來重新叫用系統。
備註:自動重新整理瀏覽器的快取。每個使用者的快取會根據 Web 伺服器之 web.xml 文件中所定義的 maxAge 參數自動重新整理。建議您在開發/測試環境上將此參數設定為 1 秒,並在生產環境上設定為 28800 秒 (8 小時)。如果您需要變更此值,則請洽詢系統支援人員。