redis-cliの使い方

  • 136
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

redis-cliの使い方についてまとまった情報がなかったので、まとめてみました。

redis-cliの使い方

  • redis serverに接続して対話的に実行
$ redis-cli
127.0.0.1:6379> SET hoge bar
OK
  • 引数を指定して非対話的に実行
$ redis-cli -h localhost SET hoge bar
OK
  • ファイルから読み込んで実行
$ echo "SET hoge bar" >> set.txt
$ redis-cli < set.txt
OK
  • リダイレクトを使用して実行
$ echo "SET hoge bar" | redis-cli
OK
  • 1行で複数のコマンドを実行
$ echo -e "SET hoge bar \r\n GET hoge" | redis-cli
OK
"bar"

redis-cliのオプション

オプション 説明 備考
-h <hostname> ホスト名を指定 デフォルトは127.0.0.1
-p <port> ポート番号を指定 デフォルトは6379
-s <socket> サーバのソケットを指定 これが設定されると-hと-pの設定を無視します
-a <password> パスワードを指定 requireが設定されている時、毎回「AUTHコマンド」を実行する必要がなくなります
-r <repeat> 繰り返し実行 指定したコマンドを<repeat>回繰り返します
-i <interval> 繰り返し間隔 -rオプションが指定されている時、<interval>秒の間隔で実行します
-n <db> データベースの番号 SELECTコマンドで指定するやつです
-x 最後の引数を標準入力から読み込む 「SETコマンドのVAUEの部分だけを標準入力から指定する」みたいなことが可能
-d --rawを指定した時の、区切り文字を指定 '\r\n'に代わる区切り文字を指定する
-c クラスタモードで接続 -ASKや-MOVEDのリダイレクトを許可します
--raw マルチバイト対応を許可 --rawを指定するとマルチバイト文字がちゃんと返ってきます
--no-raw マルチバイト対応を許可しない -
--csv 出力をCSV形式にする -
--stat redis serverの稼働情報を表示し続ける 総キー数、総メモリ数、クライアント数などを表示し続ける。稼働監視用オプション
--latency レイテンシ計測モードを使用 レイテンシを計測できる(Ctl-Cで止めるまで計測し続ける)
--latency-history レイテンシ計測結果を15秒間隔で表示 --latencyと似ているが、15秒ごとにレイテンシの経過を見れる点が異なる(Ctl-Cで止めるまで計測し続ける)
--slave マスタサーバから来たコマンドを表示し続ける スレーブサーバにはマスタサーバからどんなコマンドが来ているだろう?レプリケーションはちゃんと動いている?というときに使えます。
--rdb <filename> RDBファイルを取得 接続サーバのRDBファイルを取得。リモートサーバに対してのダンプコマンドと思っていいかも?
--pipe pipeモードを使用 大量にデータを登録する時とかに便利です
--pipe-timeout <n> pipeモードのタイムアウトを指定 単位は秒
--bigkeys 格納しているデータの中で一番サイズの大きいVALUEを持つKEYをデータ型毎に出力 左記のほか、データ型毎のキー数とかも出ます、
--scan カーソルを使って全部取得 scanで全件取得するときに便利。たぶん--partternとの併用が主な使い方
--pattern <pat> --scanで取得した結果を絞り込むことができる SCAN … MATCH のの部分を指定石ていることと同じ。「KEY全件から正規表現で絞り込む」みたいなことが可能
--intrinsic-latency <sec> systemに備わっているレイテンシを計測 指定した秒数間起動する
--eval <file> Luaスクリプトを使ってEVALコマンドを送る -
--help ヘルプを表示 -
--version バージョンを表示 -

使用例

使い方がパッとわかりづらいものの実行例

  • データ準備
    key:0からkey:1000までのサンプルデータを生成
    $ redis-cli debug populate 1000

  • その1 : 区切り文字を「@」にして、mget

$ redis-cli -d "@" --raw mget key:100 key:200
value:100@value:200
  • その2 : 全キーからキーの下2文字が「00」であるものを検索
$ redis-cli --scan --pattern "*00"
key:300
key:200
key:800
key:900
key:400
key:500
key:600
key:700
key:100
  • その3 : その2リクエストを2秒間隔で3回実行する
$ redis-cli -r 3 -i 2 get key:100
"value:100"
"value:100"
"value:100"