Redis
Redisの概要について
概要
- In-Mmoeryのデータベース
- cache, vector database, document database, streaming engineなどで利用されるNoSQLの のDB。
- Key-Value型のDB
型
複数の型がありますが、代表的なものを記載します。
- String型
KeyとValueが1対1の関係で管理されるデータ型です - Hash型
親Key、子Key、Valueにより管理されるデータ型です。 - List型
- Set型
- SortedSet型
- Streaming型
Redisストリームは、Redis用に構築された新しいデータ構造で、時系列データを扱います。
Redisリストに似ていますが、以下の2点において異なります。
オリジナルインデックスではなく、タイムスタンプを使用
各ストリームは、Redisハッシュに似た複数フィールドを持つことが可能
redis-cli
ログイン
redisにログインする場合は、以下のコマンドを利用します。
redis-cli -p 6382 -h localhost
-pはredisサーバが動作しているポート、-hはホスト名です。
共通操作
keyの確認
登録されているKeyの一覧が表示されます。
> KEYS * 1) "data2" 2) "data1" 3) "test"
もしくは、SCANで登録されているKeyを確認します。
localhost:6381> SCAN 0 1) "0" 2) 1) "data3" 2) "data2" 3) "data1" 4) "test"
Keyの型の確認
keyの型を確認します。
TYPE key
Keyの型のTTLの確認
以下のコマンドで、各KeyのTTLが確認できます。
ttl Key
- 0以上:残り秒数
- -1:TTLの指定がない、または指定したキーが既に存在しない
Hash型のCLI操作
- HGET
keyのfieldに登録されているValueを表示します 。 ワイルドカードなどは利用不可。
HGET key field
- HKEYS Keyに登録されているフィールドをすべて返します。
HKEYS key
- HGETALL keyに登録されているすべてのfieldとValueを返します。
HGEALL key
- HLEN keyに登録されているフィールドの個数を返します。
HLEN key
Stream型のCLI操作
- 特定の範囲内のエントリを取得。XRANGEコマンド
XRANGE stream-name start end [COUNT count]
ストリーム名 mystream から、すべてのエントリを取得する場合は、以下のように- +をつけます。
XRANGE mystream - +
- 逆順にエントリを取得する。XREVRANGE コマンド
XREVRANGE stream-name end start [COUNT count]
こちらは、すべてのエントリを取得する場合は+、- をつけます。
XREVRANGE mystream + - COUNT 5