srcache_store_ranges
Директива `srcache_store_ranges` управляет тем, будут ли кешироваться range-запросы с использованием прозрачного метода кэширования subrequest.
Описание
Директива srcache_store_ranges используется в конфигурациях NGINX для указания, сохранять ли ответы на range-запросы в кэше при использовании механизма кэширования, основанного на subrequest, предоставляемого модулем ngx_srcache. Когда включено (установлено в 'on'), NGINX сохраняет ответы на range-запросы в кэше, что особенно полезно, когда клиенты запрашивают частичное содержимое ресурса, например медиафайлов. Это может привести к повышению производительности, поскольку сервер сможет обслуживать последующие range-запросы непосредственно из кэша, минимизируя нагрузку на бэкенд и улучшая время отклика.
Когда srcache_store_ranges установлена в 'off', ответы на range-запросы не сохраняются, что означает, что каждый range-запрос пересылается на upstream-сервер, независимо от того, доступна ли в кэше полная версия ресурса. Настройка чувствительна к контексту и может быть объявлена в блоках 'http', 'server' или 'location'. Поведение контролируется простым флажком, что упрощает изменение поведения кэширования для range-запросов в конкретных контекстах вашей конфигурации NGINX.
Пример конфига
location /files {
srcache_store_ranges on;
srcache_store 200;
# other configurations ...
}Убедитесь, что запросы с диапазоном действительно отправляются клиентами перед тестированием поведения кэширования этой директивы, иначе вы можете не увидеть никаких эффектов.
Настройка нескольких уровней кэширования может привести к непредвиденному поведению; убедитесь, что вы понимаете взаимодействие между этими слоями.
Эффективное кэширование медиафайлов с помощью этой директивы требует внимательного отношения к заголовкам ответа, таким как 'Content-Length'.