我在ASP.Net Core 2.2 API中将IDistributedCache与SQL Server一起使用。
我注意到过期记录保留在表中。有什么方法可以从缓存表中删除过期的记录吗?
SqlServerCache
定期检查已删除的缓存项并删除它们,它使用此SQL命令。
DELETE FROM {0} WHERE @UtcNow > ExpiresAtTime
请检查您的数据库表中ExpiresAtTime
的值。
SqlServerCache类的来源:https://github.com/dotnet/extensions/blob/master/src/Caching/SqlServer/src/SqlServerCache.cs
DatabaseOperations类的源,包含DeleteExpiredCacheItems
方法:https://github.com/dotnet/extensions/blob/master/src/Caching/SqlServer/src/DatabaseOperations.cs