0

我在 Debian Wheezy 中使用 django 和 mod_wsgi 设置了 apache2。我用这个配置启用了 mod_mem_cache:

<IfModule mod_mem_cache.c>
    CacheEnable mem /
    MCacheSize 400000
    MCacheMaxObjectCount 100
    MCacheMinObjectSize 1
    MCacheMaxObjectSize 500000
    CacheIgnoreNoLastMod On
    CacheIgnoreHeaders Set-Cookie
</IfModule>

基于 MCacheMaxStreamingBuffer 是文档中所述的 100000 或 MCacheMaxObjectSize 中较小的一个。

当我尝试点击大小为 3.3KB 的页面时,我在 firebug 中得到这些响应标头:

Connection  Keep-Alive
Content-Encoding    gzip
Content-Type    text/html; charset=utf-8
Date    Wed, 27 Aug 2014 14:47:39 GMT
Keep-Alive  timeout=5, max=100
Server  Apache/2.2.22 (Debian)
Transfer-Encoding   chunked
Vary    Cookie,Accept-Encoding

并且页面不是从缓存中提供的。然而,在页面源中有正确的标题“缓存控制:max-age=300,必须重新验证”,但没有出现在萤火虫中。在 apache 日志中,我只能正确看到:

[info] mem_cache: Cached url: https://83.212.**.**/?

对于我在 django 之外创建的另一个没有将分块编码作为标头的测试页面,缓存可以正常工作。为什么页面没有从缓存中提供?有没有人见过类似的东西?

4

0 回答 0