动态网页缓存与网页数据监控技术解析
1. 动态网页缓存方案
1.1 背景与问题提出
随着越来越多的网站使用动态内容以增加灵活性和提供最新信息,服务器负载急剧增加。因为每个请求都会导致代码执行,可能涉及信息存储库的处理和访问。为解决这一问题,提出了一种维护动态生成页面服务器端缓存的方案。
1.2 相关工作
此前的一些动态内容缓存技术,如主动缓存和服务器加速器等,虽然在一定程度上能减轻服务器负载,但都存在一些问题。例如,需要应用程序员进行额外的开发和维护,使用专有规范或 API 指定失效页面,增加了系统复杂性,且多数实现与特定的 Web 服务器耦合,降低了互操作性和可移植性。
1.3 系统架构
通过添加缓存管理器和更新管理器两个软件模块,对现有网站安装进行补充。这两个模块作为前端,无需影响现有安装,仅更新程序可能需要一些添加。
缓存管理器启动时读取配置,将网页根据 URL 和客户端信息分组。对于每个请求,检查页面是否已缓存,若未缓存则从 Web 服务器请求页面并转发给客户端。同时,根据配置判断页面是否可缓存,若可缓存则放入缓存,若缓存满则使用 Greedy Dual - Size 算法移除页面以腾出空间。
更新管理器负责跟踪数据和程序的变化,监控失效存储库,定位描述已过时页面的模式,并将相关数据传播给缓存管理器,以确保发送给客户端的页面不过时。
1.4 处理数据和程序变化
当底层数据或服务器端程序修改时,缓存中的页面可能过时。更新管理器监控失效存储库,其中的每个模式包含生成受影响页面的程序指定和必须匹配的参数及值。每个模式还有临界性指定(硬或软),软