当您将某些内容存储在 ASP.NET 的内置缓存中时,这如何与垃圾收集器一起工作?
例子:
if( not in cache)
{
List<UserSales> sales = SalesService.GetByUserId(loggedInUser.id);
InsertToCache(cacheKey, sales);
}
else
{
// loads from cache
}
所以对于每个用户,我首先检查数据是否在缓存中。
我想知道的是,这对垃圾收集器有什么影响?如果销售对象对某些用户说 200-500 行,那么在这种情况下 GC 将如何表现?
如果我有一个 20 分钟的滑动过期时间,所以它从缓存中删除,只是因为它被删除了,它仍然必须被 GC 正确?
唯一持有对销售的引用的是缓存系统和 mvc 视图页面,但在请求结束时超出了范围。