У меня нет опыта работы с лаком. Я хочу настроить лак для чего-то очень простого: у меня две страницы
http://mysite.com/
http://mysite.com/additem
Я хочу кешировать http://mysite.com/additem
на 10 минут и http://mysite.com/
в течение 1 минуты, но когда угодно http://mysite.com/additem
посетил, хочу очистить кеш для http://mysite.com/
. Любая помощь?
IIRC есть программа cli (очистка), которую вы можете вызвать из http://mysite.com/additemили используйте curl для отправки инструкции очистки (как HTTP-глагол), например
curl -X PURGE http://mysite.com/
Но это предполагает, что у вас есть скрипты на http://mysite.com/additem
Я предполагаю, что можно было бы вызвать чистку в обработчике VCL для http://mysite.com/additem
sub vcl_recv {
if (req.url ~ "^http://mysite.com/additem") {
purge("req.url == http://mysite.com/");
}
}
(не проверено)
Часть 1:
Эта команда очистит (очистит) подпапку (например)
varnishadm -S /etc/varnish/secret -T localhost:6082 "ban req.http.host == mysite.com && req.url ~ ^/fold/.*$"
Для корня вашего домена это будет работать *
varnishadm -S /etc/varnish/secret -T localhost:6082 "ban req.http.host == mysite.com && req.url ~ ^/.*$"
* Примечание: необходимо проверить, очищает ли указанная выше подпапки (рекурсивно)
Часть 2: Вы отвечаете за сервер и не использовать его для (м) других пользователей? Ты разрешаешь системные команды в PHP? Если да, должно быть легко запускать команду всякий раз, когда http://mysite.com/additem посещается.
Вышеупомянутые команды работают из CLI, но не тестировались.