Я использую Nginx кусочек
модуль для заполнения кеша большими файлами, как показано здесь https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/
Вот пример конфигурации
место расположения / {
срез 1м;
кеш proxy_cache;
proxy_cache_key $uri$is_args$args$slice_range;
proxy_set_header Диапазон $slice_range;
proxy_cache_valid 200 206 1 час;
proxy_pass http://localhost:8000;
}
В статье говорится:
NGINX позволяет кэшировать такие запросы диапазона и постепенно
заполнить кеш модулем Cache Slice, который делит файлы на
более мелкие «кусочки». Каждый запрос диапазона выбирает определенные срезы, которые
покрыть запрошенный диапазон и, если этот диапазон еще не закэширован, поставить
его в кеш. Все остальные запросы к этим слайсам берут данные
из кеша.
Мой вопрос в том, что происходит, когда все диапазоны байтов файла были получены от бэкэнда, а Nginx кэшировал все фрагменты. Nginx по-прежнему обслуживает запросы, используя несколько фрагментов, или он объединяет все фрагменты для создания большого файла (такого же, как файл в бэкэнде), а затем обслуживает запросы из большого файла?
Как я вижу, ключ кеша proxy_cache_key $uri$is_args$args$slice_range;
. Итак, означает ли это, что даже если Nginx имеет полный контент, он по-прежнему будет хранить эти фрагменты отдельно и обслуживать запросы диапазона байтов, используя фрагменты?
Спасибо