persist_for(モデルの場合)

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

persist_for は、persist_for(Explore 用)パラメータのドキュメント ページで説明されているように、Explore の一部としても使用できます。

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

用途


persist_for: "5 hours"
階層
persist_for
デフォルト値
1 時間

許可
整数と期間(秒、分、時間)を含む文字列

定義

代わりに、クエリのキャッシングのドキュメント ページで説明されているように、datagrouppersist_with の使用を検討してください。

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

Looker のキャッシングの仕組みは次のとおりです。ユーザーが特定のクエリを実行すると、そのクエリの結果がキャッシュされます。persist_for で指定された間隔よりも短い時間内に、まったく同じクエリ(行数の上限などの細かい点もすべて同じ)が再度実行された場合、キャッシュに保存された結果が返されます。それ以外の場合は、データベースに対して新しいクエリが実行されます。

persist_for 間隔の期限が切れると、データはキャッシュから削除されます。データがキャッシュに保存される期間については、クエリのキャッシングのドキュメント ページをご覧ください。

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

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

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

persist_for: "2 hours"

キャッシュの長さを 30 分に調整します。

persist_for: "30 minutes"

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

persist_for: "0 seconds"

注意点

データは常にキャッシュに書き込まれます

persist_for0 seconds に設定されている場合、ユーザーのクエリはキャッシュからデータを取得しません。ただし、Looker は内部プロセスにディスク キャッシュを必要とするため、persist_for0 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 をプリキャッシュする場合は、保存してスケジュール設定することを検討してください。