跳到主要内容
跳到主要内容

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);

另请参阅