Можно ли в squid обновлять части кеша в установленный день месяца, скажем?
У меня есть данные, которые регенерируются раз в месяц в определенный день, и я бы хотел, чтобы squid кэшировал их на следующий месяц, прежде чем отмечать их как устаревшие.
Шаблон обновления refresh_pattern / path 0 100 60 * 24 * 30 не будет работать, потому что вы не можете гарантировать, что он будет синхронизироваться с обновлениями данных.
Вот что я считаю простым и практичным подходом к решению этой проблемы:
Вы можете (предварительно) заполнить кеш squid, используя wget --cache=off -r
для сканирования всего веб-сайта (ов), который вы хотите кэшировать.
Что касается планирования, не можете ли вы использовать завершение процесса регенерации для запуска прогона предварительного заполнения?
Короткий ответ: вы не можете обновить элемент в кеше, использующий сам по себе кальмара, но ты можешь чистка пункт, затем используйте wget или что-то подобное, чтобы заполнить исправленную версию. Но правильный способ решить эту проблему, как предлагает womble, - установить правильную информацию о кешировании на исходном сервере или использовать разные URL-адреса для каждой версии.