Redisを扱うにあたって、GUIでRedisの状態が把握できるツールは便利です。
最近はRDBToolsを使っていたのですが、2か月ぶりにサイトをみると2019/12/31でEOLとのアナウンスとRedisInsightのGAリリースが出ていました。
このRedisInsightが、無料で使えるRedis GUIの中で完成度が高く、Redis Labs本家が開発しているのでオススメできそうです。
TL;DR
- RedisのGUIツールとして、以前RDBToolsを紹介したのですが31st December 2019でEOLを迎える
- 後継ツールとしてRedisInsight がRedisLabs からGAリリースされている
- 安定しており、RDB Toolsにあった無料ユーザー制約も解除されて使いやすいのでオススメ
その他のGUIツール
RedisLabで紹介されています。
- RedisInsight
- Redsmin
- Redis Commander
- Redis Desktop Manager
- Induction (開発終了)
いろいろありますが好きなのを使うといいでしょう。 触った感触はRedisInsightがRDBToolsと同様の使いやすさで好みです。 Redis Desktop Managerは、どんどん好みとずれているので一年前から使うのをやめました。
もともとRDBToolsはHashedInが開発しており、Redis Labsが買収しました。 Redis Labs案外こういう動きがあるので面白いです。
ダウンロード/インストール
ドキュメントを見つつ進めるといいでしょう。
https://docs.redislabs.com/latest/ri/docs.redislabs.com
インストール時の注意
もし、すでにRDBToolsをインストールしていた場合注意が必要です。
RedisInsightはRDBToolsとポートがバッティングするので、、先にRDBTools をアンインストールしてからインストールが必要です。 手元でアンインストールを忘れて入れたところ盛大にバッティングしたので、次の手順が安定です。
- RDBToolsの停止
- RDBToolsアンインストール
- RedisInsightインストール
Docker
dockerで立ち上げておけばインストール不要で便利です。
docker-compose
でローカルのRedisを起動する構成にしているなら、まとめて立ち上げてもいいでしょう。
docker run -d -v redisinsight:/db -p 8001:8001 redislabs/redisinsight
https://docs.redislabs.com/latest/ri/installing/install-docker/docs.redislabs.com
私はdocker-composeでRedisと一緒にあげています。
version: "3" networks: redis: driver: bridge services: redis: image: redis:5.0.7-alpine ports: - 6379:6379 command: redis-server --requirepass MY_SUPER_AWESOME_PASSWORD networks: - redis redisinsight: image: redislabs/redisinsight:latest ports: - 8001:8001 volumes: - ./redisinsight:/db networks: - redis
ローカルインストール
自分のPCにインストールするなら、トップからダウンロードができます。
まだインストーラーがChocolatey/ScoopやHomebrewで提供されておらずダウンロードしてインストールが必要です。 ダウンロードには、フォーム入力でEmail とかいろいろ入力求められるのでいい感じで入れます。
なおダウロードリンクです。
Linux上でも起動できるのでいい感じで使えるでしょう。 もちろんWSL上のUbuntuでいれてWindowsから見るとかでもいいのです。
起動
RDBTools同様に、ブラウザで操作をします。
DockerやLinuxなら起動後メッセージが出るので、ブラウザでアクセスすればokです。
Starting webserver... Visit http://0.0.0.0:8001 in your web browser. Press CTRL-C to exit.
RedisInsightを起動すると、localhost:8001でホスティングしてブラウザが自動的に開きます。
接続
任意のRedisに接続できるます。また、EC2から実行することでElastiCacheを自動探索したり、使っているならRedis Enterpriseの探索オプションがあります。
ローカルに起動したRedis on Dockerへの接続を見てみましょう。
- ローカルのRedisをdocker-composeなどで立ち上げる。(リモート先のRedisが接続可能ならそれでも)
- Add Redis Databaseを選んで接続情報を入力する
- Nameは適当にどうぞ
- Hostは名前解決面倒なので、127.0.0.1で
- Portは6379 (プレースホルダーに見えるけど入れないとダメです)
- Password を設定しているなら入れましょう
接続情報が正しければつながるのが確認されて登録できます。
一覧に戻るので自分で入れたNameのRedisを選択してお好きにどうぞ!
できること
RDBToolsと基本UI構成は同じですが機能的には圧倒的にいいです。 とりあえず欲しい機能はほぼすべて入っています。クラスタシャード管理がないぐらいかな
- 無料でも時間制限がなくなった (RDB Toolsで無料ユーザーだとこの制約がありました)
- CLIがブラウザから実行できる(別途インストールも不要)
- Stream/Profilerのサポート
- SlowLog も確認できる
- メモリをExportできるので、ほかの人の環境に突っ込むこともできる。(RDBがいい。人間が見たり、プログラムで分析するならJSON)
- Config の確認
- クライアント一覧の確認
CLIの実行
Streamへの接続
Analysis
キーごとのMemoryの使用量を確認
データのExport
JSONで出力できるのはうれしいですね。
{"hashkey_01" : {"address": "127.0.0.1", "port": "80", "name": "pod-12345"}}
Configを確認したり書き換えが可能です。
接続しているクライアントを確認できるのもいいでしょう。
できないこと
UI上はRDB ToolsにあったCluster Managementが消えているように見えますが、それ以外は拡充されているように見えます。
まとめ
今のところ触った限りではWindows, macOS上で動作も安定しています。
ローカル開発環境はdocker-compose
でRedis/DBがまとめて起動するので、組み込みました。
RedisInsightに限らず、操作をブラウザから行うツールが最近増えていますが、非常に使いやすいので今後も増えるとうれしいですね。
RedisInsightおすすめです。