このテーブル関数を使用すると、ClickHouse を Redis と統合できます。
構文
redis(host:port, key, structure[, db_index[, password[, pool_size]]])引数
| Argument | Description |
|---|---|
host:port |
Redis server のアドレスです。ポートは省略可能で、その場合はデフォルトの Redis ポート 6379 が使用されます。 |
key |
カラム一覧内の任意のカラム名です。 |
structure |
この関数が返す ClickHouse テーブルのスキーマです。 |
db_index |
Redis の DB 索引で、範囲は 0〜15、デフォルトは 0 です。 |
password |
ユーザーパスワードです。デフォルトは空文字列です。 |
pool_size |
Redis の接続プールの最大サイズです。デフォルトは 16 です。 |
primary |
指定は必須です。主キーとしてサポートされるのは 1 つのカラムのみです。主キーは Redis のキーとしてバイナリ形式でシリアライズされます。 |
- 主キー以外のカラムは、対応する順序で Redis の値としてバイナリ形式でシリアライズされます。
keyに対する equals または in フィルタを含むクエリは、Redis に対する複数キーのルックアップに最適化されます。keyでフィルタしないクエリではテーブル全体のスキャンが発生し、負荷の高い操作になります。
Named collections は現時点では 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);