persist_for の別の使用例

このページでは、Explore の一部である persist_for パラメータについて説明します。

persist_for は、モデルの一部として使用することもできます。詳しくは、persist_for(モデル用)パラメータのドキュメントをご覧ください。

また、persist_for(派生テーブルの場合)パラメータのドキュメント ページで説明されているように、persist_for を派生テーブルの一部として使用することもできます。

使用状況

Explore: explore_name{
persist_for: "1 時間"
}
階層
persist_for
デフォルト値
モデルの persist_for 設定

許可
整数と文字列(
秒、分、または時)を含む文字列
特別なルール
explore レベルの persist_for 設定は、モデルレベルの persist_for 設定をオーバーライドします。

定義

代わりに、datagrouppersist_with を使用して検討してください。詳細については、データグループを使用したクエリのキャッシュと PDT の再構築のドキュメントをご覧ください。

persist_for を使用すると、特定の Explore にキャッシュに保存されているクエリ結果を使用する時間を変更できます。Looker のデフォルトのキャッシュ長は 1 時間です。キャッシュされた結果はLookerインスタンス上の暗号化ファイルに保存されます。

Looker のキャッシュ保存の仕組みは次のとおりです。ユーザーが特定のクエリを実行すると、そのクエリの結果がキャッシュに保存されます。まったく同じクエリ(行の上限などを含むすべてが同じである必要がある)を persist_for で指定された期間未満に再度実行すると、キャッシュに保存されている結果が返されます。それ以外の場合は、データベースに対して新しいクエリが実行されます。

persist_for 時間が経過すると、Instant Dashboard の Looker Labs 機能が無効になっている限り、データはキャッシュから削除されます。データがキャッシュに保存される期間については、データグループでのクエリのキャッシュと PDT の再構築のページをご覧ください。

persist_for が Explore とそのモデルの両方に設定されている場合、Explore に設定された値は、その Explore に基づくクエリよりも優先されます。

Explore では、クエリがキャッシュから返されたかどうかを確認したり、データベースから新しい結果を強制的に生成したりできます。詳細については、データグループを使用したクエリのキャッシュと PDT の再構築のページをご覧ください。

キャッシュの長さを 2 時間に調整します。

explore: my_explore {
  persist_for: "2 hours"
}

キャッシュの長さを 30 分に調整する:

explore: my_explore {
  persist_for: "30 minutes"
}

キャッシュを無効にして、ユーザーがクエリのキャッシュ内の結果を取得しないようにします。

explore: my_explore {
  persist_for: "0 seconds"
}

注意点

persist_for0 seconds に設定されている場合、ユーザーのクエリはキャッシュからデータを取得しません。ただし、Looker の内部プロセスではディスク キャッシュが必要なため、persist_for0 seconds に設定されている場合でも、暗号化されたデータは常にキャッシュに書き込まれます。キャッシュに書き込まれると、データは削除対象としてフラグが設定されますが、ディスク上で最大 10 分間保持される可能性があります。詳細については、データグループを使用したクエリのキャッシュと PDT の再構築のページをご覧ください。

persist_for がデータ インポートに必ずしも一致するとは限りません

多くの企業では、分析データベースにデータを毎日インポートしています。データを絶えず更新しなければ、最新のクエリを実行する必要はないとユーザーが判断する場合があるため、キャッシュの長さを 24 時間(persist_for: 24 hours など)に設定します。しかし、これでユーザーが最新の更新日時よりも古いデータを取得できなくなるわけではありません。

たとえば、1 月 1 日の正午にクエリが実行され、1 月 2 日の朝に新しいデータがインポートされ、1 月 2 日の正午に再度実行されたとします。クエリは persist_for で指定された 24 時間の時間枠内で実行されるため、1 月 2 日に新しいデータが読み込まれたにもかかわらず、1 月 1 日のデータが返されます。

キャッシュをデータ インポートと整合させる場合は、キャッシュに関するこのページで説明されているように、データグループpersist_with を使用します。

スケジュール設定された Look では結果がキャッシュに保存される

スケジュール設定された Look が実行されると、ユーザーがクエリを実行する場合と同じ方法でキャッシュに保存された結果セットが作成されます。特定のレポートを事前にキャッシュに保存するには、そのレポートの保存とスケジュール設定を検討します。