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