Перейти к основному содержанию
Эта табличная функция позволяет интегрировать ClickHouse с Redis.

Синтаксис

redis(host:port, key, structure[, db_index[, password[, pool_size]]])

Аргументы

АргументОписание
host:portАдрес Redis server; порт можно не указывать, тогда будет использован стандартный порт Redis 6379.
keyЛюбое имя столбца в списке столбцов.
structureСхема таблицы ClickHouse, которую возвращает эта функция.
db_indexИндекс БД Redis в диапазоне от 0 до 15; значение по умолчанию — 0.
passwordПароль пользователя; по умолчанию — пустая строка.
pool_sizeМаксимальный размер пула соединений Redis; значение по умолчанию — 16.
primaryОбязательный параметр; поддерживается только один столбец в primary key. Primary key будет сериализован в бинарный файл как ключ Redis.
  • столбцы, кроме primary key, будут сериализованы в бинарный файл как значение Redis в соответствующем порядке.
  • запросы с фильтрацией по ключу с помощью equals или in будут оптимизированы до поиска по нескольким ключам в Redis. Если запрос выполняется без фильтрации по ключу, произойдет полное сканирование таблицы, что является ресурсоемкой операцией.
Именованные коллекции в настоящее время не поддерживаются для табличной функции redis.

Возвращаемое значение

Объект таблицы, в котором ключ используется как ключ Redis, а остальные столбцы объединены в значение Redis.

Пример использования

Чтение из Redis:
SELECT * FROM redis(
    'redis1:6379',
    'key',
    'key String, v1 String, v2 UInt32'
)
Вставка в Redis:
INSERT INTO TABLE FUNCTION redis(
    'redis1:6379',
    'key',
    'key String, v1 String, v2 UInt32') values ('1', '1', 1);
Последнее изменение 10 июня 2026 г.