在计算机科学领域,广泛应用缓冲技术来提高系统的性能,它的原理是把经常存取的或者是比较重要的数据保存于内存中以减少系统的响应时间。对于WEB应用领域,缓冲技术主要是把HTTP请求的页面或数据保存于内存,以减少下次使用时重建它们的耗费。 ASP.NET有两种用于WEB应用的缓冲技术:输出缓冲和数据缓冲。 输出缓冲指:把一次请求所产生的动态输出保存于内存中。 数据缓冲指:按照一定的策略把事先不确定的对象保存于内存中。 输出缓冲常用于把整个输出页面缓冲起来。对于一个存取繁忙的站点来说,把一些常用页面放入内存会带来性能上的极大提高。当一个页面被放入输出缓存,那么接下来的对该页面的请求将不再执行创建它的代码,而是从内存中直接返回该页面。 但实际上,保存整个输出页面的方法并不一定都行得通,因为有些页面的输出取决于客户端的不同请求,称之为“定制”。这时,采取的方法即找出不同中的相同,把一些并不需要经常重新创建的对象和数据识别出来,进行缓冲。一旦这些部分被识别,那么它们将被一次创建并在缓存中保持一定的时间。 选择缓存的时间是提高性能的关键。对一些部分来说,它们需要隔一定时间进行刷新,而另一些部分来说,可能仅仅只是需要保存一段时间。此种情况下,都可以设定“过期策略”来实现。一旦这些对象和数据到期,它们都将被从缓存中清除出去。当存取对象和数据的代码发现所要求的部分在内存中不存在时,将重建该对象或数据。 ASP.NET支持文件和缓存关键字的依赖关系,它允许开发人员创建缓存依赖于一个外部文件或另一个缓存事物。利用这项技术可以更新一个缓存事物当其依赖的源文件发生改变时。 |