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 案外こういう動きがあるので面白いです。
ダウンロード/インストール
ドキュメントを見つつ進めるといいでしょう。
インストール時の注意
もし、すでにRDBTools をインストールしていた場合注意が必要です。
RedisInsightはRDBTools とポートがバッティングするので、、先に RDBTools をアンインストールしてからインストールが必要です。 手元でアンインストールを忘れて入れたところ盛大にバッティングしたので、次の手順が安定だと思います。
- RDBTools の停止
- RDBTools アンインストール
- RedisInsight インストール
Docker
docker で立ち上げておけばインストール不要で便利です。
docker-compose
でローカルのRedisを起動する構成にしているなら、まとめて立ち上げてもいいでしょう。
docker run -d -v redisinsight:/db -p 8001:8001 redislabs/redisinsight
私は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.
Windowsなら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 おすすめです。