我正在尝试在ASP.Net核心应用程序中实现缓存。目前我实现的是使用IMemoryCache
的内存缓存,但我想要的是如果SQL Server 2016中的相应记录发生更改,缓存应该失效。我发现它的一种方法是SQLCacheDependency
,但根据this link
对此有何想法?
答案 0 :(得分:0)
目前这个课程还没有迁移到.Net Core,所以你不能轻易地管理出这样的逻辑。可能它将成为.Net Standard 2.0的一部分,因此您要么使用CancellationChangeToken
实施一些临时解决方案,并使用直接的SQL数据库检查(效率非常低)或等待更新。
答案 1 :(得分:-1)
你可以添加CancellationChangeToken,然后在其上调用Cancel方法,这应该从内存缓存中逐出你的记录。最重要的是,您可以使用PostEvictionDelegate回调(在缓存记录被驱逐后触发其他操作)。 您可以在此处阅读更多内容:https://docs.microsoft.com/en-us/aspnet/core/performance/caching/memory