кеширование — полностраничный кеш Nginx с использованием Memcached / Elasticache и очистка с переполнением стека

У меня есть приложение PHP, работающее на последней версии Nginx. Я хотел бы кэшировать каждую полную страницу для определенного URL-адреса с помощью memcached, а также иметь возможность очищать / аннулировать определенную кэшированную страницу с помощью нескольких команд PHP.

Мое исследование предлагает использовать эти 2 модуля:
http://wiki.nginx.org/HttpSRCacheModule
http://wiki.nginx.org/HttpMemcModule

Это лучший / самый простой способ? Любые другие предложения?

1

Решение

Ты можешь использовать встроенный модуль Memcache Конфигурация проста:

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 Вот.

2

Другие решения

Других решений пока нет …