nchan_redis_idle_channel_cache_timeout

Устанавливает таймаут кэширования неактивных каналов в Redis, используемых Nchan.

Синтаксисnchan_redis_idle_channel_cache_timeout time;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива nchan_redis_idle_channel_cache_timeout задаёт продолжительность, в течение которой неактивные pub/sub каналы хранятся в кэше Redis. Эта настройка важна в сценариях, когда к каналу периодически подключаются несколько подписчиков или издателей. Сохраняя неактивные каналы в течение заданного времени, она снижает накладные расходы, связанные с частым созданием и удалением каналов. Если канал остаётся неактивным дольше настроенного таймаута, он может быть удалён из кэша, что освобождает память Redis и поддерживает оптимальную производительность.

Эту директиву следует задавать в контекстах, таких как http, server или location, что даёт гибкость в управлении — применять таймаут глобально, для конкретного блока server или для отдельного location. Аргумент директивы должен задаваться в виде временного значения (например, 60s, 5m), указывающего, как долго неактивный канал будет оставаться в кэше. По достижении этого времени без активности канал удаляется из хранилища Redis, что позволяет системе адаптивно управлять использованием ресурсов в зависимости от текущего спроса.

На практике директива nchan_redis_idle_channel_cache_timeout помогает повысить эффективность использования системных ресурсов и при этом минимизировать прерывания для пользователей, когда они возвращаются к ранее активным каналам. Правильная настройка этого таймаута имеет решающее значение для баланса между удержанием ресурсов и доступностью каналов для активных подписчиков.

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

nchan_redis_idle_channel_cache_timeout 1m;

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

Правильно отрегулируйте таймаут в соответствии с шаблонами активности подписок вашего приложения, чтобы не потерять необходимые каналы слишком рано.

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