persist_for (適用於模型)

本頁面是指 模型persist_for 參數。

persist_for 也可做為探索的一部分,詳情請參閱 persist_for (適用於探索) 參數說明文件頁面。

persist_for 也可用於衍生資料表,詳情請參閱persist_for (適用於衍生資料表) 參數說明文件頁面。

用量


persist_for: "5 hours"
階層
persist_for
預設值
1 小時

接受
字串,包含整數,後接時間範圍 (秒、分鐘或小時)

定義

建議改用 datagrouppersist_with,詳情請參閱「快取查詢」說明文件頁面。

persist_for 可讓您修改特定探索使用快取查詢結果的時間長度。Looker 的預設快取長度為 1 小時。快取結果會儲存在 Looker 執行個體的加密檔案中。

Looker 的快取機制運作方式如下:使用者執行特定查詢後,系統會快取該查詢的結果。如果有人在 persist_for 指定的時間間隔內,再次執行完全相同的查詢 (所有內容都必須相同,包括列數上限等細微事項),系統就會傳回快取結果。否則,系統會對資料庫執行新查詢。

persist_for間隔到期時,系統會從快取中刪除資料。如要瞭解資料在快取中的儲存時間,請參閱「快取查詢」說明文件頁面。

探索也支援 persist_for。如果「探索」和模型都有 persist_for 設定,系統會優先採用「探索」設定的值,用於以該「探索」為準的查詢。

在「探索」中,您可以查看查詢是否從快取傳回,也可以強制從資料庫產生新結果。詳情請參閱「快取查詢」說明文件頁面。

範例

將快取長度調整為 2 小時:

persist_for: "2 hours"

將快取長度調整為 30 分鐘:

persist_for: "30 minutes"

關閉快取功能,讓使用者永遠不會收到查詢的快取結果:

persist_for: "0 seconds"

注意事項

資料一律會寫入快取

如果 persist_for 設為 0 seconds,使用者查詢時就不會從快取擷取資料。不過,Looker 需要磁碟快取進行內部程序,因此即使 persist_for 設為 0 seconds,加密資料仍會寫入快取。資料寫入快取後,系統會標記要刪除的資料,但這些資料最多可能在磁碟上保留 10 分鐘。詳情請參閱「快取查詢」說明文件頁面。

persist_for 不一定與資料匯入作業一致

許多公司每天都會將資料匯入分析資料庫。有時,他們會認為資料不會持續更新,因此執行新查詢沒有意義,所以將快取長度設為 24 小時 (如 persist_for: 24 hours)。不過,這樣做無法避免使用者取得比最近一次重新整理還舊的資料。

舉例來說,假設您在 1 月 1 日中午執行查詢,系統在 1 月 2 日上午匯入新資料,然後您在 1 月 2 日中午再次執行查詢。由於查詢是在 persist_for 指定的 24 小時時間範圍內執行,因此即使 1 月 2 日載入了新資料,系統仍會傳回 1 月 1 日的資料。

如要讓快取與資料匯入作業保持一致,請使用資料群組persist_with,詳情請參閱「快取查詢」說明文件頁面。

系統會快取已排定 Look 的結果

排定的 Look 執行時,系統會建立快取結果集,與使用者執行查詢時相同。如要預先快取特定 Look,建議您儲存並排程該 Look。