System.Web.Caching & System.Runtime.Caching 针对 IIS 应用程序池重新启动
System.Web.Caching & System.Runtime.Caching against IIS App Pool restarts
在 Asp.net 表单或 MVC 应用程序中,使用 System.Web.Caching 的缓存项目在应用程序池重新启动时被清除。
但是,如果使用 System.Runtime.Caching 实现缓存会怎样?
But what happens if caching was achieved using System.Runtime.Caching ?
如果您使用的是 MemoryCache
默认实现,则会发生完全相同的情况,因为项目将存储在 AppDomain 的内存中。如果您希望您的缓存项在应用程序池重新启动后仍然存在,您可能需要使用分布式缓存系统,例如 Redis 或 Memcached。通过使用分布式缓存系统,您的网络集群的所有节点都可以访问这些缓存项并可能利用它们。
在 Asp.net 表单或 MVC 应用程序中,使用 System.Web.Caching 的缓存项目在应用程序池重新启动时被清除。 但是,如果使用 System.Runtime.Caching 实现缓存会怎样?
But what happens if caching was achieved using System.Runtime.Caching ?
如果您使用的是 MemoryCache
默认实现,则会发生完全相同的情况,因为项目将存储在 AppDomain 的内存中。如果您希望您的缓存项在应用程序池重新启动后仍然存在,您可能需要使用分布式缓存系统,例如 Redis 或 Memcached。通过使用分布式缓存系统,您的网络集群的所有节点都可以访问这些缓存项并可能利用它们。