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

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 テーブル関数に対して 名前付きコレクション はサポートされていません。

戻り値

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