本地缓存
数据的本地缓存 是一种用于加速网络访问数据文件的技术。 它涉及到尽可能在客户端而不是服务器上缓存数据。
本地缓存的效果是,它允许将文件同一区域中的多个写入操作合并到网络上的一个写入操作中。 本地缓存会减少网络流量,因为数据只写入一次。 此类缓存可改善应用程序的明显响应时间,因为应用程序不会等待数据通过网络发送到服务器。
要读取的数据的本地缓存似乎可以通过提前读取来加快速度。 一个简单的示例是按顺序访问数据的应用程序,例如编译器的预处理器。 在这种情况下,操作系统的网络层在应用程序请求数据之前通过网络读取数据。 理想情况下,网络在应用程序从文件系统请求数据之前提供数据,从而导致近乎即时的响应。 实际上,这种情况很少发生,但通常会提前阅读,通过预测下一个请求来加快应用程序的速度。
本地缓存还可以通过跨网络读取一部分文件,然后将其保存在本地缓存中,来帮助减少网络流量。 应用程序从本地缓存读取该部分的后续读取操作。
可从本地缓存中受益的一种应用程序是批处理文件。 命令处理器一次读取和执行批处理文件一行。 对于每一行,命令处理器打开文件,搜索到行的开头,根据需要读取,关闭文件,然后执行行。 每一行都会导致大量的网络流量。 通过在客户端上缓存整个批处理文件,可以大幅减少网络流量。
本地缓存还有助于解决与网络相关的另一个问题,尤其是通过调制解调器和其他精简管道执行工作的网络:响应时间缓慢。 用户不希望等待通过网络检索、修改后再写回数据。 通过预先读取和写入缓存,这些函数的运行速度似乎比实际快得多。
本地缓存的一个危险是,只要数据缓存在客户端上,写入数据的完整性与客户端本身一样高。 通常,应尽快将本地缓存的数据刷新到服务器。 借助新式操作系统和硬件支持(如不间断电源),可降低丢失本地缓存数据的风险。 但风险仍然存在,应考虑数据完整性与明显响应速度之间的权衡,以及数据完整性与网络流量减少之间的权衡。