跳至主要内容

redis

此表函数允许 ClickHouse 与 Redis 集成。

语法

redis(host:port, key, structure[, db_index[, password[, pool_size]]])

参数

  • host:port — Redis 服务器地址,您可以忽略端口,默认将使用 Redis 端口 6379。

  • key — 列列表中的任何列名。

  • structure — 从此函数返回的 ClickHouse 表的模式。

  • db_index — Redis 数据库索引范围,从 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);

另请参阅