P.A.缓存加载项以获得更好的清除策略
collective.purgebyid的Python项目详细描述
集合.purgebyid
collective.purgbyid是一种新的plone缓存失效方法 基于网站。它使用的思想是添加一个额外的头,称为 涉及x-id,其中包含 资源建设。例如,图像只包含 Uuid:
% wget -S http://localhost:8080/Plone/image01 ... X-Ids-Involved: #c8d7c0bc2b794325b916d990de91d7ee#
其他页面可能更复杂。然后添加新的清除重写规则 要清除的URL集的自定义URL:“按ID清除”自定义URL 格式为//purgebyid/<;uuid>;其中uuid是对象的uuid 已清除。
最后,Varnish的配置是这样的,当url/@purgebyid/<;uuid>;是 清除后,它将禁止所有与x-ids相关的头匹配的对象 类型正确(即包含要清除的资源的uuid)。 这意味着当一个资源被清除时,它也足以清除 它/@purgebyid/<;uuid>;url,因为它将对 还可以在url 用来访问它的。
清漆
配置示例:
sub vcl_recv { if (req.request == "PURGE") { if (!client.ip ~ purge) { error 405 "Not allowed."; } if (req.url ~ "^/@@purgebyid/") { ban("obj.http.x-ids-involved ~ #" + regsub(req.url, "^/@@purgebyid/", "") + "#"); error 200 "Ban added"; } } } sub vcl_deliver { unset resp.http.x-ids-involved; }
贡献者
Mauro Amco,作者
更改日志
1.1.1(2019-06-05)
- python 3支持 [曼米科]
1.1.0(2018-05-14)
- 将头mutator从pubSuccess事件移动到plone.transformChain。 使用p.a.caching的ramcache操作修复丢失的头2 [曼米科]
- 添加了iidInvolved适配器,以方便实现“相关ID”提取器 [曼米科]
- 管理资源目录,因为以前所有资源都由 导航根目录 [曼米科]
- 修复iuuid自适应没有默认值的问题 [数据库]
1.0.0(2016-01-14)
- 根据请求使用zope.annotation [曼米科]
- 删除了未使用的通用安装配置文件 [曼米科]
1.0.0a1(2013-09-11)
- 使用templer创建的包 [毛罗·阿米科]