本页面引用了模型中的
persist_for
参数。
persist_for
也可以用作探索的一部分,如persist_for
(适用于探索)参数文档页面所述。
persist_for
也可以用作派生表的一部分,如persist_for
(针对派生表)参数文档页面中所述。
用量
层次结构
persist_for |
默认值
1 小时接受
包含整数,后跟时间范围(秒、分钟或小时)的字符串
|
定义
请考虑改用
datagroup
和persist_with
,如缓存查询和使用 datagroups 重建 PDT 文档页面中所述。
persist_for
允许您修改给定探索的缓存查询结果的时长。Looker 中的默认缓存长度为 1 小时。缓存结果会存储在您的 Looker 实例的加密文件中。
Looker 中的缓存机制的工作原理如下:在用户运行特定查询后,系统会缓存该查询的结果。如果某人在不到 persist_for
指定的时间段内再次运行完全相同的查询(所有内容都必须相同,包括行数上限等),则返回缓存的结果。否则,将对数据库运行新查询。
persist_for
时间过后,系统会停用缓存中的数据,前提是即时信息中心实验室功能已停用。如需了解数据在缓存中存储的时长,请参阅使用 datagroups 缓存查询和重建 PDT 文档页面。
“探索”功能还支持 persist_for
。如果“探索”及其模型都有 persist_for
设置,对于基于该“探索”的查询,系统会为“探索”所设置的值优先。
在“探索”中,您可以查看是否从缓存返回了查询或强制从数据库生成新结果。如需了解详情,请参阅缓存查询并使用 datagroups 重建 PDT 文档页面。
示例
将缓存长度调整为 2 小时:
persist_for: "2 hours"
将缓存长度调整为 30 分钟:
persist_for: "30 minutes"
关闭缓存,以防止用户看到查询的缓存结果:
persist_for: "0 seconds"
注意事项
始终将数据写入缓存
当 persist_for
设置为 0 seconds
时,用户的查询将不会从缓存中检索数据。但是,Looker 需要磁盘进程来执行内部进程,因此,即使 persist_for
设置为 0 seconds
,加密数据也始终会写入缓存。写入缓存后,系统会将其标记为删除,但最多可能需要在磁盘上保留 10 分钟。如需了解详情,请参阅使用 datagroups 缓存查询和重建 PDT 文档页面。
“persist_for
”未必与您的数据导入一致
许多公司每天都会将数据导入他们的分析数据库。有时,如果数据没有持续更新,它们会认为没有运行全新查询的目的,因此它们会将缓存长度设置为 24 小时(例如 persist_for: 24 hours
)。不过,这不会阻止用户获取早于最近刷新时间的数据。
例如,假设查询在 1 月 1 日中午运行,新数据在 1 月 2 日上午导入,然后在 1 月 2 日中午再次运行。由于查询是在 persist_for
指定的 24 小时时段内运行的,因此系统将返回 1 月 1 日的数据,即使新数据是在 1 月 2 日加载的。
如果您想让缓存与数据导入保持一致,请使用 datagroups 和
persist_with
(如缓存查询和使用 datagroups 重新构建 PDT 中所述)。
预定外观将缓存结果
在运行预设的 Look 时,它将创建一个缓存结果集,与用户创建查询的方式相同。如果您想预缓存特定报告,可以考虑先保存并安排定期生成报告。