メインコンテンツまでスキップ
メインコンテンツまでスキップ

Redis統合

ユーザーはテーブル関数を介してRedisと統合することができます。

redis テーブル関数

このテーブル関数は、ClickHouseと Redis を統合することを可能にします。

構文

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

引数

引数説明
host:portRedis サーバーアドレス。ポートは無視でき、デフォルトの Redis ポート 6379 が使用されます。
keyカラムリスト内の任意のカラム名。
structureこの関数から返される ClickHouse テーブルのスキーマ。
db_indexRedis データベースインデックスは 0 から 15 まで。デフォルトは 0。
passwordユーザーパスワード。デフォルトは空文字列。
pool_sizeRedis の最大接続プールサイズ。デフォルトは 16。
primary必須で、主キーには1つのカラムのみをサポートします。主キーはバイナリとしてシリアライズされ、Redis キーとして使用されます。
  • 主キー以外のカラムは、対応する順序で Redis 値としてバイナリにシリアライズされます。
  • キーが等しいまたはフィルタリングに関与するクエリは、Redis からの複数キーの検索に最適化されます。フィルタリングキーのないクエリでは、フルテーブルスキャンが実行され、これは重い操作となります。

現在、redis テーブル関数では Named collections はサポートされていません。

戻り値

キーが 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);