1

IIS 具有在 asp.net 站点上设置“输出缓存”的功能。我想知道与我们的浏览器完成的缓存相比,这种类型的缓存有什么好处。我想知道,如果我们的浏览器有能力缓存内容(例如 js/css/image),为什么 .net 会实现输出缓存等功能?

4

2 回答 2

4

想象一个需要大量服务器端资源来创建的页面——可能是数据库调用、繁重的计算等。

如果一个用户请求该页面,并且它被浏览器缓存,那么下次该用户请求相同的页面时,它已经在他们的机器上——因此它不必由服务器生成或传输过来再次网络。

接下来,假设第二个用户请求相同的页面。页面副本被第一个用户的浏览器缓存的事实并没有帮助。如果没有输出缓存,服务器将需要重新执行那些耗时的操作来生成页面。

如果页面使用了输出缓存,那么第一次创建的结果将存储在服务器的内存中,因此可以发送缓存的结果以响应后续请求——这样可以节省时间和服务器端资源。

于 2012-02-22T06:50:30.783 回答
1

考虑一下多个用户,比如说 100 个。

如果没有输出缓存,IIS 将不得不为每个用户请求处理和生成页面,因此该页面被处理 100 次。

使用输出缓存 IIS 必须处理一次页面(对于第一个请求它的用户),然后缓存它并为其他 99 个用户返回相同的版本。

于 2012-02-22T05:46:54.983 回答