データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

知っておきたいRedis CLIコマンド ベスト10

本記事は、2015年4月14日にObjectRocket.com/blogで公開された記事をもとにしています。

Redis®はシンプルなコマンドラインインターフェース(CLI)を採用しています。比較的扱いやすい一方で、意外にも便利な機能が数多く備わっています。この記事では、基本操作からクライアントが持つ主要な機能まで、順を追って解説していきます。

それでは、押さえておきたいRedisコマンドTop10を見ていきましょう。

1. ワンステップで接続と認証を行う

まずは、最も基本的な接続方法です。ホスト名・ポート番号・パスワードをすべてオプションで指定して、接続と認証を一度に行えます。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword
127.0.0.1:6379> PING
PONG

PINGに対してPONGが返ってくれば、自分のRedisサーバーへの接続とパスワードによる認証が成功しています。

2. 2ステップで接続と認証を行う

別の方法として、-aオプションを省略して接続し、その後に認証コマンドを実行することもできます。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> AUTH mysupersecretpassword
OK
127.0.0.1:6379> PING
PONG

接続後にAUTHコマンドでパスワードを送信する方式です。スクリプト内で認証情報の扱いを分けたい場合などに便利です。

3. UNIXソケット経由で接続・認証する

Redisサーバーとクライアントが同じマシン上で動作している場合は、UNIX®ソケットを使った接続を選択できます。

注意: ホスト名とポート番号に加えてソケットも指定した場合、redis-cliはUNIXソケット経由で接続します。

cweid@strange:~$ redis-cli -s /tmp/redis.sock
127.0.0.1:6379> AUTH mysupersecretpassword
OK
127.0.0.1:6379> PING
PONG

これで、コマンドラインからRedisインスタンスへ接続し、認証する方法がわかりました。次に、実務で役立つ具体的な活用例を見ていきましょう。

4. コマンドを実行して標準出力に結果を表示する

対話モードに入らず、コマンドラインから直接コマンドを実行し、その結果だけを標準出力に表示したい場合があります。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword PING
PONG

引数としてコマンドを渡すだけで、シェルスクリプトなどから手軽にRedisを操作できます。

5. 同じコマンドを複数回実行する

同じコマンドをn回繰り返し実行したい場合もあるでしょう。その際は-r(repeat)オプションを使用します。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -r 4 PING
PONG
PONG
PONG
PONG

上記の例では、-r 4を指定することでPINGコマンドが4回実行されています。

6. 同じコマンドを1秒間隔で複数回実行する

-iオプションを-rと組み合わせると、実行間隔に遅延を設けることができます。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -i 1 -r 4 PING
PONG
PONG
PONG
PONG

このコマンドでは、各PINGコマンドの実行間に1秒の待機時間が挿入されます。

7. 実行間隔をサブ秒単位に変更する

-iオプションには小数を指定できるため、1秒未満の細かい間隔も設定可能です。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -i 0.1 -r 4 PING
PONG
PONG
PONG
PONG

この例では、PINGコマンドが0.1秒(10分の1秒)ごとに実行されます。

8. Redisインスタンスの診断情報を取得する

接続先のRedisインスタンスに関する簡単な診断情報を生成するには、--statオプションを付けてredis-cliを実行します。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --stat
------- data ------ --------------------- load -------------------- - child -
keys       mem      clients blocked requests            connections
0          790.80K  1       0       122 (+0)            16
0          790.80K  1       0       123 (+1)            16
0          790.80K  1       0       124 (+1)            16
0          790.80K  1       0       125 (+1)            16
0          790.80K  1       0       126 (+1)            16

このコマンドから得られる主な情報は以下の通りです。

  • サーバーに登録されているキーの数
  • サーバーの総メモリ使用量
  • 接続中またはブロック中のクライアントの総数
  • サーバーが処理したリクエストの総数
  • 現在の接続数

Redisサーバー全体の状況をひと目で把握したいときに役立つコマンドです。イメージとしては、ファイルの状態を確認するような感覚に近いでしょう。

9. Redisコマンドのレイテンシを確認する

統計情報の取得方法がわかったところで、次はRedisに届くコマンドのレイテンシを確認してみましょう。これもコマンドラインから実行できます。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --latency
min: 0, max: 1, avg: 0.13 (763 samples)

ここでは、リクエスト時間の最小値・最大値・平均値と、収集されたサンプル数が表示されます。

注意: 表示される時間の単位はマイクロ秒です。Redisのレイテンシについて詳しく知りたい方は、レイテンシモニタリングに関する公式ドキュメントも参照してください。

10. キースペースを分析する

キースペース内に大きな文字列やその他のデータ構造がないかを分析するには、--bigkeysオプションを使用します。このコマンドは、キースペース内の大きなキーを特定するのに役立ち、さらにキータイプ全体の分布数も表示してくれます。

cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --bigkeys
# Scanning the entire keyspace to find biggest keys as well as
# average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).

[00.00%] Biggest string found so far 'user:paul' with 4 bytes
[00.00%] Biggest string found so far 'barrrr' with 19612 bytes

-------- summary -------

Sampled 4 keys in the keyspace!
Total key length in bytes is 29 (avg len 7.25)

Biggest string found 'barrrr' has 19612 bytes

4 strings with 19624 bytes (100.00% of keys, avg size 4906.00)
0 lists with 0 items (00.00% of keys, avg size 0.00)
0 sets with 0 members (00.00% of keys, avg size 0.00)
0 hashs with 0 fields (00.00% of keys, avg size 0.00)
0 zsets with 0 members (00.00% of keys, avg size 0.00)

この出力からは、各キーのタイプやサイズといった、非常に有用な情報を多数得ることができます。

まとめ

Redis CLIは、Redisインスタンスを管理するための強力なツールです。組み込みオプションを活用できれば、問題が発生しているRedisサーバーの分析も格段に容易になります。

Rackspace DBA Servicesの詳細については、ぜひご確認ください。

ご意見やご質問がある場合は、フィードバックタブをご利用ください。また、私たちとの対話を始めることもできます。

  1. ADB Android インストール ガイド:ドライバーとコマンド

    この記事では、1 つ以上のデバイスとエミュレーターをインストール、テスト、診断、および管理する際に、ADB を使用して詳細な制御を行う方法について説明します。 ソフトウェア開発者としての最初の数年間は、主に Android SDK を扱っていましたが、Android Debug Bridge (ADB/adb) とは何か、それが何をするのか、いつ使用するのか、まったくわかりませんでした。 面白いことに、最初にそれについて学ぼうと思ったのは、何らかの専門的な目標ではありませんでした。むしろ、私が必死に復活させたかったのは、Nexus 6 をループするブートでした。そのような問題に対して、An

  2. 必ず試したいPowerShellの基本コマンド6選

    Windows PowerShellは、タスク自動化とシステム管理のための強力なツールです。コマンドラインとスクリプト言語を活用することで、日々の作業を大幅に効率化できます。PowerShellのコマンドレット(cmdlet)には数多くの便利な機能がありますが、その中でも特に重要なコマンドがいくつか存在します。これらは、システム管理にPowerShellを活用するうえで欠かせないものばかりです。本記事では、ぜひ覚えておきたい主要なコマンドをご紹介します。 1. Get-Help PowerShellの使い方で行き詰まったことはありませんか? そんなときに頼りになるのが「Get-Help」コマ