.Net 核心 SQL 缓存依赖

.Net core SQL cache dependency

我正在尝试在 ASP.Net 核心应用程序中实施缓存。目前我实现的是使用 IMemoryCache 在内存中缓存,但我想要的是如果 SQL 服务器 2016 中的相应记录发生更改,缓存应该失效。我找到它的一种方法 SQLCacheDependency 但根据 this link

它不是 .Net Core 的一部分

对此有什么想法吗?

您可以添加 CancellationChangeToken,然后对其调用 Cancel 方法,这会将您的记录从内存缓存中移除。在它之上,有一个 PostEvictionDelegate 回调可供您使用(在缓存记录被驱逐后触发其他操作)。 您可以在这里阅读更多内容:https://docs.microsoft.com/en-us/aspnet/core/performance/caching/memory

现在这个 class 还没有迁移到 .Net Core,所以你不能轻易地管理这样的逻辑。可能它将成为 .Net Standard 2.0 的一部分,因此您要么使用 CancellationChangeToken 直接 sql 数据库检查(效率非常低)实施一些临时解决方案,要么等待更新。