Re: Принудительно обновить/очистить кеш для определенного локейшена

Denis Kot denis.kot на gmail.com
Чт Янв 28 14:13:41 MSK 2010


28 января 2010 г. 13:01 пользователь Igor Sysoev <igor at sysoev.ru> написал:
> On Thu, Jan 28, 2010 at 11:17:21AM +0200, Denis Kot wrote:
>
>> Требуется раз в сутки, допустим в 8оо обновлять картинки в
>> кеше/очищать кеш картинок, которые находятся по определенному пути,
>> например /blablabla/images/stat/
>> сейчас прописано так:
>>
>>     proxy_cache_path /var/nginx/cache
>>     levels=1:2 keys_zone=name:64m max_size=512m
>>     inactive=2h;
>>
>>   location ~* ^.+\.(jpg|jpeg|gif|gz|zip|flv|rar|wmv|avi|css|swf|png|htc|ico|mpeg|mpg|txt|mp3|mov|js)$
>> {
>>     expires 24h;
>>     log_not_found off;
>>     error_page           404 = @fetch;
>>   }
>>
>>   location @fetch {
>>     internal;
>>     proxy_pass http://domain.ru;
>>     proxy_cache name;
>>     proxy_cache_min_uses 1;
>>     proxy_cache_valid 200 24h;
>>     proxy_cache_valid any 0;
>>   }
>>
>> т.е. по идее все картинки и файлы обновляются раз в 24 часа, так? или
>> они обновляются только если с момента последнего кода 200 прошло 24
>> часа?
>
> Ответ обновится, если со времени его получения прошло больше 24 часов.

Со времени 1-го 200 ответа на определенный урл или с последнего ответа?
Т.е. например есть http://domain.ru/image.png
запросили его первый раз, получили 200, закешировали. потом народ его
активно в течение суток запрашивает и получает из кеша и каждый раз
получает 200. 24h с какого момента считается?

>
>> нужно картинки в /blablabla/images/stat/ обновлять раз в 24 часа, а
>> остальное можно и раз в 48 часов.
>> при чем /blablabla/ может быть разный. т.е. /blabla/... и
>> /blablabla/..., т.е. локейшн /stat/ надо взять из середины URI
>
> А откуда взялась конструкция с @fetch ? По аналогии с proxy_store ?

взял из какого-то примера в интернете.

> Для proxy_cache она не нужна:
>
>   location ~* ^.+/stat/.+\.(jpg|jpeg|gif|gz|zip|flv|rar|wmv|avi|css|swf|png|htc|ico|mpeg|mpg|txt|mp3|mov|js)$
>     proxy_cache_valid 200 48h;
>     proxy_pass http://domain.ru;
>     proxy_cache name;
>     proxy_cache_min_uses 1;
>   }
>
>   location ~* ^.+\.(jpg|jpeg|gif|gz|zip|flv|rar|wmv|avi|css|swf|png|htc|ico|mpeg|mpg|txt|mp3|mov|js)$
>
>     proxy_pass http://domain.ru;
>     proxy_cache name;
>     proxy_cache_min_uses 1;
>     proxy_cache_valid 200 24h;
>   }

т.е. наоборот. там 24h, а там 48h.

>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>


Подробная информация о списке рассылки nginx-ru