跳转到主要内容
此表函数可将 ClickHouse 与 Redis 集成。

语法

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

参数

参数说明
host:portRedis server 地址,可省略端口;省略时使用默认 Redis 端口 6379。
key列列表中的任意列名。
structure此函数返回的 ClickHouse 表的 schema。
db_indexRedis db 索引范围为 0 到 15,默认为 0。
password用户密码,默认为空字符串。
pool_sizeRedis 最大连接池大小,默认为 16。
primary必须指定,仅支持主键中的一个列。主键会以二进制形式序列化为 Redis key。
  • 除主键外,其他列会按对应顺序以二进制形式序列化为 Redis 值。
  • 对 key 使用 equals 或 in 过滤条件的 queries 会被优化为从 Redis 执行多 key lookup。若 queries 中未按 key 过滤,则会发生全表扫描,这是一项开销很大的操作。
目前,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);
最后修改于 2026年6月10日