在以前的版本中,可以设置依赖于其他缓存条目的缓存条目。
在 asp.net 核心中,尽管文档中存在以下文本
您可以将缓存条目配置为依赖于其他缓存条目、文件系统或编程令牌,从而逐出条目以响应更改。您可以注册回调,该回调将在逐出缓存项时运行。
我不知道如何实现这一点,因为文档中没有示例。
aspnet/Caching github项目有一些示例。一个好的文件似乎是内存缓存样本。
要使带有"key1"
的条目在带有"key2"
的条目过期后过期,请创建"key1"
然后
using (var entry = cache.CreateEntry("key1"))
{
entry.Value = "value1";
cts = new CancellationTokenSource();
cache.Set("key2", "value2", new CancellationChangeToken(cts.Token));
}
cache.Set
将创建一个新条目并在我们传入的令牌上调用AddExpirationToken
。