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-cliは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