プロジェクト

全般

プロフィール

調査 #121

未完了

Redis

Tatsuya ISHIGAKI さんが3ヶ月前に追加. 29日前に更新.

ステータス:
進行中
優先度:
通常
開始日:
2026/02/11
期日:
進捗率:

70%

予定工数:

説明

Docker 勉強中に、サービスの例として使用されていた Redis
自分で使用したことないので、少し調査

参考Web

Redis 概要

  • NoSQL型のDB
    • キーバリュー型のDB
  • インメモリDB
  • redis というパッケージでインストール
    • サービスは redis-server で起動
    • サービスへは redis-cli というクライアントでアクセス
  • redis-cli で接続後の命令例 (redis:6379> redis-cli のプロンプト)
    redis:6379> set age 42         # キー "age", 値 "42" を登録
    OK
    redis:6379> set name smith     # キー "name", 値 "smith" を登録
    OK
    redis:6379> get age            # キー "age" の値を取得
    "42"
    redis:6379> keys *             # パターンでキーを一覧表示
    1) "age"
    2) "name"
    

Redis CLI

サービス起動

  • redis-server [設定ファイル] [オプション]
    • 代表オプション
      • --port N N 番ポートで起動
      • --daemonize yes デーモン化して起動
      • --databases N データベース数を N に
    • 設定ファイルにはオプションと同様の内容を書いて、起動時に指定することで適用
      # 設定ファイル内容の例
      port 30000
      daemonize yes
      databases 2
      
    • 指定が無い場合、ポート 6379 、非デーモンで起動

クライアント起動

  • redis-cli [オプション] [コマンド]
    • 代表オプション
      • -h ホスト ホスト指定 (デフォルト 127.0.0.1)
      • -p ポート番号 ポート指定 (デフォルト 6379)
      • -n データベース番号 0 - 15
    • 引数にコマンドを与えると、非対話的に実行
      • redis-cli -h localhost SET hoge bar
    • 標準入力から redis コマンド文字列を与えると、非対話的に実行
      • echo "SET hoge bar" | redis-cli
      • 複数行のコマンドを記載したファイルを読み込ませるなども
    • 他の場合には対話的インタフェースが起動する (概要の例の通り)

Redis 追加情報

  • データ型
    • 主なデータ型
      • String
      • List
      • Hash
      • Set
      • Sorted Set
    • データ型の基本は文字列 (String) で、数値も文字列で保持して利用する
      • また、バイナリデータも文字列型として保持、利用する (画像なども)
  • redis cluster という仕組みでの分散保持、併せてマスタースレーブ型での自動フェイルオーバーも利用可能
  • List型のコマンドには LPOP RPOP LPUSH RPUSH があり、スタック・キューとして使える
  • データベースは 0 ~ 15 の番号で指定する

他の形式にエクスポート: Atom PDF