IIS重置和应用程序池recyle在影响缓存性能方面有什么区别

IIS重置和应用程序池recyle在影响缓存性能方面有什么区别,iis,caching,application-pool,Iis,Caching,Application Pool,我遇到了一个奇怪的问题:据我所知,可以通过回收应用程序池来清除缓存 然而,在最近的一个项目中,缓存并没有以这种方式清除。相反,我们必须重置IIS以清除缓存 这些操作之间的差异是什么?我所经历的差异的原因可能是什么?当您回收AppPool时,会有一些重叠时间。您的不健康工作进程被标记为可回收,但会继续处理它已收到的请求。(它不会处理新请求)。不健康工作进程的所有现有请求处理完毕后将被终止 重置IIS后,所有工作进程都将终止,内存中的缓存将被清除。一旦有新的请求,就会创建新的工作人员 所以我认为,对

我遇到了一个奇怪的问题:据我所知,可以通过回收应用程序池来清除缓存

然而,在最近的一个项目中,缓存并没有以这种方式清除。相反,我们必须重置IIS以清除缓存


这些操作之间的差异是什么?我所经历的差异的原因可能是什么?

当您回收AppPool时,会有一些重叠时间。您的不健康工作进程被标记为可回收,但会继续处理它已收到的请求。(它不会处理新请求)。不健康工作进程的所有现有请求处理完毕后将被终止

重置IIS后,所有工作进程都将终止,内存中的缓存将被清除。一旦有新的请求,就会创建新的工作人员


所以我认为,对于AppPool回收和IIS重置,都会清除缓存。据我所知,缓存存储在应用程序域中。一旦不健康的工作进程终止,所有缓存项都应销毁。

请查看以下文章以了解详细说明:

简言之:

IIS6中引入了回收应用程序池功能

IISRESET停止并启动所有与IIS相关的服务。它尝试正常关闭所有组件,即发送关闭请求并等待服务关闭。它等待所有服务关闭,然后重新启动它们


AppPool recycle首先调用新的辅助进程,然后关闭旧的辅助进程。这使得停机时间比IISRESET要短。

这是否意味着如果我们等待足够长的时间,并在以后访问页面,缓存将消失,并通过回收应用程序池来清除?不工作,我回收一个池并检查新池,并且有请求等待超过13秒。IIS 7.5 windows服务器我发现此答复非常有用:。与这里的其他答案类似,但它还包括刷新选项。