I am using IDistributedCache with SQL Server in my ASP.Net Core 2.2 API.
I noticed that the expired records remain in the table. Is there any way to delete expired records from the cache table?
The SqlServerCache
periodically checks for deleted cache items and deletes them, it uses this SQL command.
DELETE FROM {0} WHERE @UtcNow > ExpiresAtTime
Please check you DB table for values of ExpiresAtTime
.
Source of SqlServerCache class: https://github.com/dotnet/aspnetcore/blob/bec278eabea54f63da15e10e654bdfa4168a2479/src/Caching/SqlServer/src/SqlServerCache.cs
Source of DatabaseOperations class, containing DeleteExpiredCacheItems
method: https://github.com/dotnet/aspnetcore/blob/bec278eabea54f63da15e10e654bdfa4168a2479/src/Caching/SqlServer/src/DatabaseOperations.cs