Redis integration
Users can integrate with Redis via the table function.
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.
Named collections are not supported for redis
table function at the moment.
Returned Value
A table object with key as Redis key, other columns packaged together as Redis value.
Usage Example
Read from Redis:
SELECT * FROM redis(
'redis1:6379',
'key',
'key String, v1 String, v2 UInt32'
)
Insert into Redis:
INSERT INTO TABLE FUNCTION redis(
'redis1:6379',
'key',
'key String, v1 String, v2 UInt32') values ('1', '1', 1);
See Also