Эта табличная функция позволяет интегрировать 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 г.