【问题标题】:Nginx full page cache using Memcached/Elasticache and purging with PHPNginx 全页缓存使用 Memcached/Elasticache 并使用 PHP 清除
【发布时间】:2015-12-03 05:42:27
【问题描述】:

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

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

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

【问题讨论】:

  • 问题解决了吗?

标签: php caching nginx memcached amazon-elasticache


【解决方案1】:

你可以使用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

【讨论】:

  • 谢谢。当提供不在缓存中的页面时,它会自动插入缓存还是我必须手动插入?
  • @Littlebob 手动通过后端,标准 Nginx Memcache 模块是只读的。
  • 这是一个类似的问题,答案部分类似serverfault.com/questions/342548/…
  • @Littlebob 是的,这是类似的 4 岁问题,解决方案仍然保持不变
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
  • 2013-02-26
  • 1970-01-01
  • 2011-07-02
  • 2017-08-30
  • 2012-08-30
相关资源
最近更新 更多