Redis CLIで使える便利なコマンド10選

Redisのコマンドラインインターフェース(redis-cli)は、非常にシンプルで直感的に設計されています。しかし、そのシンプルさの裏には、意外と知られていない便利な機能が数多く隠れています。この記事では、基本的な接続方法から始めて、redis-cliが持つ主要な機能やオプションを順番に見ていきましょう。
Redisサーバーへの接続と認証
まずは、Redisサーバーへの基本的な接続方法です。ホスト名・ポート番号・パスワードを指定して接続します。
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword
127.0.0.1:6379> PING
PONGこれで、自分のRedisサーバーに接続し、パスワードによる認証を完了できました。PINGコマンドに対してPONGが返ってくれば、正常に通信できていることが確認できます。
接続後に認証する方法
セキュリティの観点から、-aオプションでパスワードをコマンド履歴に残したくない場合は、接続後にAUTHコマンドで認証することも可能です。
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
PONGUnixソケット経由での接続
Redisサーバーとクライアントが同じマシン上で動作している場合は、Unixドメインソケットを使って接続すると、TCPよりも効率的な場合があります。
注意: ホスト名とポート番号、そしてソケットパスを同時に指定しても、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コマンドを直接実行して結果だけ取得する
対話モードに入らず、単一のコマンドを実行してその出力だけを受け取りたい場合は、コマンド引数として直接指定できます。
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword PING
PONGこれはシェルスクリプトなどからRedisを操作したい場合に特に便利です。
-rオプション: コマンドの繰り返し実行
同じコマンドを指定回数だけ繰り返し実行したい場合は、-r(repeat)オプションを使用します。
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -r 4 PING
PONG
PONG
PONG
PONG-iオプション: 実行間隔の指定
-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秒の待機時間が挿入されます。小数点以下の値も指定できるため、0.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秒ごとに実行されます。
--statオプション: サーバーの統計情報をリアルタイム表示
接続先のRedisインスタンスに関する簡単な診断情報を継続的に表示したい場合は、--statオプションを使用します。
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 この出力から、以下の情報を一目で把握できます。
- サーバーに登録されているキーの総数
- サーバーの合計メモリ使用量
- 接続中またはブロック中のクライアント数
- サーバーが処理したリクエストの総数
- 現在の接続数
ファイルシステムにおけるstatコマンドのように、Redisサーバー全体の概要をつかむのに非常に役立つコマンドです。
--latencyオプション: レイテンシの測定
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のレイテンシについて詳しく知りたい方は、公式ドキュメントのレイテンシモニタリングの項目を参照してください。
--bigkeysオプション: 大きなキーの検出
キースペースを解析して、大きな文字列やその他のデータ構造を検索したい場合は、--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サーバーの分析や、日々の運用監視がぐっと楽になるでしょう。まずは基本的な接続方法をマスターし、必要に応じてこれらの診断オプションを使いこなせるようになっておきましょう。
-
ADB Android インストール ガイド:ドライバーとコマンド
この記事では、1 つ以上のデバイスとエミュレーターをインストール、テスト、診断、および管理する際に、ADB を使用して詳細な制御を行う方法について説明します。 ソフトウェア開発者としての最初の数年間は、主に Android SDK を扱っていましたが、Android Debug Bridge (ADB/adb) とは何か、それが何をするのか、いつ使用するのか、まったくわかりませんでした。 面白いことに、最初にそれについて学ぼうと思ったのは、何らかの専門的な目標ではありませんでした。むしろ、私が必死に復活させたかったのは、Nexus 6 をループするブートでした。そのような問題に対して、An
-
必ず試したいPowerShellの基本コマンド6選
Windows PowerShellは、タスク自動化とシステム管理のための強力なツールです。コマンドラインとスクリプト言語を活用することで、日々の作業を大幅に効率化できます。PowerShellのコマンドレット(cmdlet)には数多くの便利な機能がありますが、その中でも特に重要なコマンドがいくつか存在します。これらは、システム管理にPowerShellを活用するうえで欠かせないものばかりです。本記事では、ぜひ覚えておきたい主要なコマンドをご紹介します。 1. Get-Help PowerShellの使い方で行き詰まったことはありませんか? そんなときに頼りになるのが「Get-Help」コマ