On 30.07.2018 19:59, Igor A. Ippolitov wrote:
Мне кажется, что proxy_cache_bypass легко позволяет замещать контент в кэше (что и делает purge, в широком смысле).
Замещать существующий контент или добавлять новый - да. Но удалять не позволяет, в этом и состоит (небольшое) отличие.
Но ведь какой-то ответ на запрос "пурженного" контента всё равно придёт клиенту? Почему бы не закэшить сразу его.
Потому что как правило объем кэша меньше объема сайта и поэтому имеет смысл держать в кэше только то, что реально запрашивается клиентами. У бекенда нет возможности узнать, ответ бекенда по какому-то урлу еще лежит в кэше или его там уже давно нет. В результате "замещение" контента в кэше через proxy_cache_bypass может быть на самом деле не замещением старого контента, а добавлением туда нового контента и вымыванием из кэша другого контента, который реально запрашивался клиентами, что ведет к уменьшению эффективности работы кэша nginx.
Или условную болванку с max-age:0, которая будет обновлена по первому же запросу от клиента
и при proxy_cache_use_stale updating; эта болванка будет отдана клиенту. а proxy_cache_lock действует только при заполнении нового элемента кэша.
На первый взгляд, PURGE не кажется необходимым средством. Хотя, вероятно. может упростить жизнь в каких-то конфигурациях.
proxy_cache_purge необходимым средством не является, без него можно обойтись - ценой снижения эффективности кэша, например, поставив небольшое время жизни элементов внутри кэша, или обновляя через proxy_cache_bypass в кэше те элементы, которые по-нормальному надо было бы оттуда просто удалять.
Директиву proxy_cache_purge можете сделать доступной в open source версии nginx?
-- Best regards, Gena _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru