2017-01-30 95 views

回答

3

但是如果使用System.Runtime.Caching实现缓存,会发生什么?

如果您使用MemoryCache默认实现,则会发生完全相同的情况,因为这些项目将存储在AppDomain的内存中。如果您希望缓存项目在应用程序池重新启动后存活,则可能需要使用分布式缓存系统,例如Redis或Memcached。通过使用分布式缓存系统,您的Web群集的所有节点都可以访问这些缓存项目,并可能利用它们。

+0

非常感谢!我认为System.runtime.cache保持它与appdomain分开。 有没有办法在MVC应用程序和** Windows **服务应用程序之间共享MemoryCache项目? –

+0

不,没有办法在AppDomains之间共享MemoryCache。它不是为此目的而设计的。您将需要一个可以共享的分布式缓存。 –