使用Memcached / Elasticache进行Nginx全页面缓存并使用PHP进行清除

时间:2015-09-07 16:05:07

标签: php caching nginx memcached amazon-elasticache

我在最新的Nginx上运行了一个PHP应用程序。我想使用memcached缓存特定URL的每个完整页面,并且还能够使用一些PHP命令清除/使特定的缓存页面无效。

我的研究建议使用这两个模块:
http://wiki.nginx.org/HttpSRCacheModule
http://wiki.nginx.org/HttpMemcModule

这是最好/最简单的方法吗?还有其他建议吗?

1 个答案:

答案 0 :(得分:2)

您可以使用built-in Memcache module配置很简单:

server {
    location / {
        set            $memcached_key "$uri?$args";
        memcached_pass host:11211;
        error_page     404 502 504 = @fallback;
    }

    location @fallback {
        proxy_pass     http://backend;
    }
}

缓存失效不是直接的,如果可能的话,使用短TTL强制缓存不显眼并且随着时间的推移而无效。否则,请查找Memcache实践here