redis
This table function allows integrating ClickHouse with Redis.
Syntax
redis(host:port, key, structure[, db_index[, password[, pool_size]]])
Arguments
host:port
— Redis server address, you can ignore port and default Redis port 6379 will be used.key
— any column name in the column list.structure
— The schema for the ClickHouse table returned from this function.db_index
— Redis db index range from 0 to 15, default is 0.password
— User password, default is blank string.pool_size
— Redis max connection pool size, default is 16.primary
must be specified, it supports only one column in the primary key. The primary key will be serialized in binary as a Redis key.columns other than the primary key will be serialized in binary as Redis value in corresponding order.
queries with key equals or in filtering will be optimized to multi keys lookup from Redis. If queries without filtering key full table scan will happen which is a heavy operation.
Returned Value
A table object with key as Redis key, other columns packaged together as Redis value.
Usage Example
Create a table in ClickHouse which allows to read data from Redis:
CREATE TABLE redis_table
(
`k` String,
`m` String,
`n` UInt32
)
ENGINE = Redis('redis1:6379') PRIMARY KEY(k);
SELECT * FROM redis(
'redis1:6379',
'key',
'key String, v1 String, v2 UInt32'
)
See Also