我正在尝试理解 kusto 中的缓存。我知道 Azure 数据资源管理器提供缓存 OOB。但是,如果我在调用 ADX 时设置以下属性,它的行为如何?我认为有和没有这些属性没有任何区别。它几乎在相同的响应时间内返回数据。另外,假设如果我在 8 点进行调用,则该特定查询的缓存将设置为 2 小时。当我在 9 使用具有相同属性的代码调用相同的查询时,kusto 会忽略缓存属性,因为已经存在缓存集,还是会从 9 再次将缓存重置为 2 小时?
clientRequestProperties.SetOption(
ClientRequestProperties.OptionQueryResultsCacheForceRefresh,
true
);
clientRequestProperties.SetOption(
ClientRequestProperties.OptionQueryResultsCacheMaxAge
2
);
最佳答案
Kusto 中有不同类型的缓存 - 由您问题中包含的属性控制的缓存是 query results cache ,默认情况下不启用。
- 请注意,当您设置
ClientRequestProperties.OptionQueryResultsCacheMaxAge
时,您需要传递timespan
类型的值,例如"02:00:00"
(或TimeSpan.FromHours(2)
)2 小时(而不是2
正如您在问题中所示)。 - 请注意,当您设置
ClientRequestProperties.OptionQueryResultsCacheForceRefresh
时至true
,您将强制刷新特定查询的缓存,并且不会使用缓存的结果。
- 请注意,当您设置
所提到的更常见的类型是由 caching policy 控制的类型。 。默认情况下启用此功能。
关于azure - Kusto 缓存(Azure 数据资源管理器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73280799/