IDistributedCache SQL 服务器删除过期记录

IDistributedCache SQL Server delete expired records

我在 ASP.Net Core 2.2 API 中将 IDistributedCache 与 SQL 服务器一起使用。

我注意到过期记录保留在 table 中。有没有办法从缓存中删除过期的记录table?

SqlServerCache 定期检查已删除的缓存项并删除它们,它使用此 SQL 命令。

DELETE FROM {0} WHERE @UtcNow > ExpiresAtTime 

请检查您的数据库 table 以获得 ExpiresAtTime 的值。

SqlServerCache 的来源class:https://github.com/dotnet/extensions/blob/master/src/Caching/SqlServer/src/SqlServerCache.cs

DatabaseOperations class 的来源,包含 DeleteExpiredCacheItems 方法:https://github.com/dotnet/extensions/blob/master/src/Caching/SqlServer/src/DatabaseOperations.cs