P.A.缓存加载项以获得更好的清除策略

collective.purgebyid的Python项目详细描述


集合.purgebyid

Travis CI badge

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创建的包 [毛罗·阿米科]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Tomcat SSL错误   线程“main”java中的indexoutofboundsexception错误异常。lang.ArrayIndexOutOfBoundsException:0   java如何模拟@InjectMocks类的方法?   当在过滤器后单击时,带有搜索和onclick的java Listview没有获得正确的位置   java如何处理多个文件和消息以在春季实现国际化?   java MINA 2.0.7有时无法在会话关闭时发出通知   java与WindowsBuilderPro的配合使用   java为什么会出现“无法解析为类型”错误?   java Eclipse调试器在包行停止   关于BuffereImage和Image的java问题   java XML工具上下文错误   java有没有一种方法可以在不创建单独的子数据集的情况下对数据集进行分区并访问分区?   java创建异常类;从其他类别看不见   java必须根据应用程序的启动方式使用skip()或read()   java Hibernate特定条件查询