跳转到主要内容

缓存渲染的页面包括头部

项目描述

简介

PageCacheManager旨在加快对内容视图的访问速度,同时确保不提供过时的内容。

安装

PageCacheManager专门设计用于缓存内容对象的视图。与RAMCacheManager不同,PageCacheManager同时缓存由视图生成的html以及HTTP头部。

PageCacheManager基于Zope的标准缓存管理器机制。与RAMCacheManager一样,您可以将一些页面模板与缓存管理器关联并配置属性。PageCacheManager需要额外一步:要缓存的内容必须通过缓存策略生成ETag。PageCacheManager寻找具有id caching_policy_manager的CachingPolicyManager。如果找到,它将为当前模板+内容对象组合获取ETag。然后,这个ETag用作缓存中的索引。如果您的内容没有生成ETag,您的页面将不会被缓存。

如果您创建的ETag在内容变化时也会变化,那么缓存提供的内容将保持新鲜。当ETag更改后,首次访问页面时会发生缓存未命中,然后后续访问新修改的内容视图将反映新版本。如果您的内容视图是个性化的,您希望ETag根据当前用户而变化。具有以下属性的良好ETag如下

ETag = 当前认证用户的id + 分隔符 + 最后修改时间

对于内容 + 分隔符 + 四舍五入到最接近小时的时间

在ETag中使用id意味着每个用户对内容对象的视图都将有不同的ETag,因此每个人都会得到不同的缓存对象。使用修改时间意味着每当内容对象更改时,它将生成不同的ETag,从而导致从缓存中拉取新的副本。使用四舍五入到最接近小时的当前时间意味着缓存不会为超过一个小时的内容提供服务。

额外奖励:PageCacheManager处理条件GET请求。如果传入的请求包含一个If-Modified-Since标题,其中包含与内容对象的当前ETag匹配的ETag,则PageCacheManager将设置状态304标题(未修改)并返回无内容。

变更日志

1.2 - 2008-01-16

  • Repackage PageCacheManager是一个python egg。[wichert]

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

构建分发

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页