快取查詢結果

如果您的問題結果不常變更,您可能希望儲存結果,以便下次有人瀏覽該問題時,Metabase 可以檢索快取的結果,而無需再次查詢資料庫。

例如,如果您的資料每天僅更新一次,則每天查詢資料庫超過一次是沒有意義的,因為資料不會變更。傳回快取的結果可能會顯著加快速度,因為您的資料庫不必重新計算結果來載入您的問題。

您可以為問題儀表板資料庫設定快取失效原則

Metabase 中的快取運作方式

假設您為特定問題設定了快取原則。您設定了持續時間原則,該原則表示在一小時後使結果失效(並清除快取)。

當您第一次檢視問題時,Metabase 將檢查是否有儲存的結果。當找不到任何結果時,它將查詢您的資料庫、傳回結果並儲存(快取)結果。這些結果在接下來的一小時內仍然有效(根據您設定的一小時持續時間原則)。

如果您在半小時後再次執行該問題,Metabase 將傳回這些儲存的結果。

如果您在初始執行後超過一小時再次執行該問題,Metabase 將注意到儲存的結果已超過您的快取原則允許的時間。Metabase 將刪除儲存的結果,對您的資料庫執行查詢,傳回結果,並儲存它們以供將來的查詢使用。根據您設定的持續時間原則,此快取在接下來的一小時內仍然有效。若要在結果過期時始終重新整理快取,請參閱自動重新整理快取

請參閱不同快取原則如何互動

快取失效原則

這些原則決定快取的結果將保持有效多久。

持續時間快取原則

持續時間快取原則僅適用於 ProEnterprise 方案(包括自架託管和 Metabase Cloud)。

在一定的小時數後使快取失效並清除快取。當有人執行查詢時,Metabase 將首先檢查它是否已快取結果,以及這些結果是否仍然有效。如果沒有,Metabase 會對資料庫執行查詢並快取結果。這些快取的結果將在您設定的持續時間內保持有效。

排程快取原則

排程快取原則僅適用於 ProEnterprise 方案(包括自架託管和 Metabase Cloud)。

選擇何時定期使快取失效。Metabase 僅在人們執行查詢時儲存結果,並將根據您在此處設定的排程清除快取的結果。

您可以排程快取失效

  • 每小時
  • 每日
  • 每週
  • 每月

我們尚不支援陰曆週期。

自適應快取原則

使用查詢的平均執行時間來決定快取查詢結果的時間長度。

  • 最短查詢持續時間:如果此問題的平均查詢執行時間超過此秒數,Metabase 將快取此問題。
  • 乘數:若要決定每個快取的結果應保留多久,我們採用該查詢的平均執行時間,並將其乘以您在此處輸入的數字。結果是快取應保持有效的秒數。例如,如果一個問題平均需要 10 秒才能傳回結果,而您設定的乘數為 100,則 Metabase 將儲存快取 10 x 100 秒:1,000 秒(約 16 分鐘)。

每當 Metabase 對資料庫執行查詢以重新整理快取的結果時,它都會重新計算查詢的平均執行時間。因此,如果 Metabase 第一次對資料庫執行查詢時需要 5 分鐘才能傳回結果,則平均執行時間將為 5 分鐘。如果下次對資料庫執行查詢需要 7 分鐘才能傳回,Metabase 將更新平均值為 6 分鐘(5 和 7 的平均值為 6)。

ProEnterprise 方案中,您可以在使用量分析集合中檢視查詢和快取統計資訊。

不要快取結果

如果您為問題、儀表板或資料庫選擇「不要快取結果」,Metabase 將不會快取其結果;它將始終對資料庫執行查詢以重新整理結果。

自動重新整理快取

自動重新整理快取僅適用於 ProEnterprise 方案(包括自架託管和 Metabase Cloud)。

如果您為問題或儀表板開啟自動重新整理快取,Metabase 將在您設定的任何快取原則使快取失效後立即重新執行查詢。通常,Metabase 僅在有人在快取過期後檢視項目時重新整理快取。因此,通常,當快取過期時,下一個檢視問題的人將會卡住等待查詢執行並重新整理快取。但是透過自動重新整理結果以更新快取,載入時間將始終盡可能快,並且人們將始終獲得有效的快取結果。

Metabase 在自動重新整理快取時如何處理參數值

自動重新整理結果時,Metabase 將始終套用預設參數值(如果有的話)。Metabase 也將快取最多十個在上一個快取期間(由您的快取原則定義)套用最頻繁的參數值的結果。如果您的問題或儀表板有多個參數,Metabase 將快取最多十個最常套用的參數值組合

例如,假設您有一個儀表板,其中包含類別篩選器(預設值:Doohickey),設定為每 24 小時快取結果。在過去 24 小時內,檢視該儀表板的人員將以下值套用至類別篩選器:WidgetGizmo。當 Metabase 下次重新整理快取時,它將快取三組結果,每組都套用了其中一個參數:Doohickey(預設值)、WidgetGizmo。但是,如果沒有人在過去 24 小時內執行查詢,Metabase 將僅重新整理套用預設參數值的結果快取。

自動快取日誌

若要檢視 Metabase 執行以自動重新整理快取的查詢,請查看查詢日誌,並依快取重新整理篩選 查詢來源

設定儀表板、問題和資料庫的快取原則

您可以為不同的實體設定快取原則。

* 表示 ProEnterprise 功能。

預設快取原則

若要為您的 Metabase 設定預設快取原則:按下 Cmd/Ctrl + k 以開啟命令面板並搜尋 效能。或者,按一下齒輪設定圖示 > 管理設定 > 效能 > 資料庫快取

按一下預設原則旁邊的按鈕,然後選取快取失效原則

資料庫快取原則

資料庫快取僅適用於 ProEnterprise 方案(包括自架託管和 Metabase Cloud)。

Database caching settings in the Admin settings under the Performance tab

與預設快取原則相同,但您可以為特定資料庫設定快取原則。

如果您的資料庫已連線至 Metabase 並設定為使用預設原則,Metabase 將更新顯示畫面以反映預設原則的設定。例如,如果您將預設原則設定為「自適應」,Metabase 將針對設定為「使用預設」的那些資料庫顯示「自適應」作為目前原則。

儀表板快取原則

儀表板快取僅適用於 ProEnterprise 方案(包括自架託管和 Metabase Cloud)。

若要為儀表板設定快取原則,您必須具有策展存取權才能存取儀表板的集合。

  1. 前往您的儀表板。
  2. 按一下資訊圖示。
  3. 按一下快取原則
  4. 選取快取失效原則
  5. 選項:開啟自動重新整理快取
  6. 儲存您的變更。

問題快取原則

問題快取僅適用於 ProEnterprise 方案(包括自架託管和 Metabase Cloud)。

若要為問題設定快取原則,您必須具有策展存取權才能存取問題的集合。

  1. 前往您的問題。
  2. 按一下資訊圖示。
  3. 按一下快取原則
  4. 選取快取失效原則
  5. 選項:開啟自動重新整理快取
  6. 儲存您的變更。

儀表板、問題、資料庫和預設快取原則如何互動

如果多個快取原則影響同一個問題,Metabase 將依此順序使用第一個可用的原則

  1. 問題
  2. 儀表板
  3. 資料庫
  4. 預設(全站範圍)

問題原則會覆寫儀表板原則,儀表板原則會覆寫資料庫原則,資料庫原則會覆寫預設原則。

清除快取

若要清除快取並重新整理結果

  • 問題和儀表板:瀏覽項目,然後按一下資訊 > 快取原則 > 清除快取(「清除快取」按鈕位於側邊欄底部)。
  • 資料庫:按一下齒輪圖示,然後按一下管理設定 > 效能 > 資料庫快取。選取您的資料庫,然後按一下清除快取按鈕(位於頁面底部)。

快取位置

如果您是自架託管 Metabase,快取的問題結果將儲存到您的應用程式資料庫

如果您使用 Metabase Cloud,快取的問題結果將儲存到 Metabase 在美國的伺服器(因為我們的 Cloud 服務為您管理您的應用程式資料庫)。

延伸閱讀

閱讀其他Metabase 版本的文件資料。