Redis 集成
用户可以通过表函数与 Redis 集成。
redis
此表函数允许将 ClickHouse 与 Redis 集成。
语法
redis(host:port, key, structure[, db_index[, password[, pool_size]]])
参数
-
host:port
— Redis 服务器地址,您可以忽略端口,将使用默认 Redis 端口 6379。 -
key
— 列列表中任何列名。 -
structure
— 从此函数返回的 ClickHouse 表的模式。 -
db_index
— Redis db 索引范围从 0 到 15,默认为 0。 -
password
— 用户密码,默认为空字符串。 -
pool_size
— Redis 最大连接池大小,默认为 16。 -
必须指定
primary
,它仅支持主键中的一列。主键将以二进制形式序列化为 Redis 键。 -
主键以外的列将以二进制形式序列化为 Redis 值,并按相应顺序排列。
-
键等于或在过滤条件中的查询将被优化为从 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);
另请参阅