缓存匿名HTTP请求(基于cookie)

时间:2011-05-16 20:52:13

标签: python http caching squid mod-cache

我想为我的Python Web应用程序添加一个HTTP(或WSGI)缓存,用于所有请求

  • 可以是GETHEAD
  • 没有名为"session_id"的cookie(已知用户获得专门的,不可缓存的页面)
  • 没有名为"_flash"的Cookie(此Cookie用于向用户显示一些短消息,例如“文章创建成功”,即使重定向后也是如此)
  • 如果有以"__utm"开头的Cookie(由Google Analytics创建),则应忽略它们(不存储在缓存中),但仍应缓存该网站

如果考虑其他常见的缓存指令(如cache-control: private)或甚至ETAGS,它也会很好,但目前不是必需的。

最好,我不想运行任何额外的软件,如Squid(但如果有充分的理由我会使用它),所以我更喜欢基于mod_apache的解决方案,甚至一些一种memcached支持的WSGI中间件;其他解决方案也欢迎。

非常感谢,
克里斯托弗

1 个答案:

答案 0 :(得分:1)

我建议您查看varnish。它会比您编写/找到的任何WSGI中间件快得多,而且您应该能够随心所欲地完成所有工作。这是教程,可以尝试它的许多功能,选项:http://www.varnish-cache.org/docs/trunk/tutorial/index.html