我有一个遗留的应用程序,它很大,同时实现了System.Web.Caching和System.Runtime.Caching。是的,这是正确的,在同一个应用程序池中运行的服务可以使用这两个服务中的任何一个。
我的问题是,就内存限制而言,它们将如何相互作用?据我所知,MemoryCache的默认限制是可用内存的60%,这是很棒的。我想更直接的问题是,System.Web.Caching实例是否也共享同样的60%?
我还有一个MemoryCache的命名实例,限制为100mb。
我想了解的是,如果System.Web.Caching被填满并强制弹出,我的MemoryCache实例会发生什么?
发布于 2016-11-03 00:02:42
当缓存达到它的极限时,它开始逐出它的最旧的项目或最接近到期时间的项目,这取决于策略。您可以设置Web缓存的内存量。看看这篇文章,it explains all of this。所有的缓存都以类似的方式工作。另外,请查看NCache。他们有免费版本。它允许使用缓存做更多的事情,特别是对于Web Farm。
所以,你问:就内存限制而言,它们将如何相互作用?-它们不会相互作用。他们将分别为每个人做他们所做的事情。每一个都会有有限的资源。尝试使用一个缓存,而不是多个缓存,这样可以节省用于实际缓存项目的资源。
https://stackoverflow.com/questions/40382758
复制相似问题