redis2_raw_query

Директива redis2_raw_query отправляет необработанную строку запроса на сервер Redis в составе конфигурации NGINX.

Синтаксисredis2_raw_query string;
По умолчаниюnone
Контекстlocation, if in location
Аргументы1

Описание

Директива redis2_raw_query позволяет передавать необработанную, предварительно отформатированную команду Redis непосредственно из конфигурации NGINX. Это полезно в случаях, когда необходимо составить сложные команды Redis, которые могут не совпадать с традиционными вызовами методов, или когда вы хотите использовать существующий синтаксис команд без дополнительного разбора на уровне конфигурации. Указав эту директиву, пользователи могут формировать свои запросы в формате, распознаваемом Redis, включая multi-bulk команды, и отправлять их напрямую на сервер Redis без каких-либо изменений.

Директива принимает один аргумент, представляющий собой строку с командой Redis. Команда должна соответствовать стандартному формату протокола Redis, включая соответствующую последовательность CRLF (Carriage Return and Line Feed). Например, базовая команда для получения значения может быть оформлена как get key\r\n. Такой прямой подход особенно полезен для сложных реализаций команд или оптимизаций, когда предпочтительнее использовать нативные команды Redis вместо обычных вызовов NGINX API.

Пример конфига

location = /bar {
    redis2_raw_query 'get one
';
    redis2_pass 127.0.0.1:6379;
}

Убедитесь, что строка команды правильно отформатирована в соответствии с протоколом Redis; в противном случае Redis вернёт ошибку.

Команда должна заканчиваться последовательностью CRLF, чтобы сервер Redis распознал её как корректную.

Неправильное использование этой директивы может привести к непредвиденному поведению, поскольку команда отправляется как необработанная строка.

← Ко всем директивам