RubyMineからRedisサーバーに接続する

# はじめに
Redisサーバーのデータを参照するには、redis-cliを利用したり、[公式サイトで紹介されているGUIツール](https://redis.com/blog/so-youre-looking-for-the-redis-gui/)を利用したりといろいろな方法があるかと思います。
今回、普段開発に利用しているRubyMineからも、簡単な設定でRedisデータを参照出来ましたので、その時の備忘録となります。


# 利用環境
RubyMine 2023.1
Docker 4.17.0
MacOS 13.2.1

# 接続設定

RubyMineのメニューから、 
表示 > ツールウインドウ > データベース を選択します。
![ｉｍａｇｅ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/f166f432-f24a-5d49-c18e-4f6a01db7f59.png)
すると、対応している多くのデータソースが表示されますので、その中から「Redis」を選択します。

:::note warn
新しいRubyMineをご利用ください。古いバージョンではRedisが表示されないようです。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/bbf58242-904c-897b-45f1-4fe047a8c46b.png)

「データソースおよびドライバー」画面から、Redisサーバーへの接続設定を行います。

##### ローカル環境で動いているRedisサーバーへの接続
![スクリーンショット 2023-03-31 21.03.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/f123d8d4-076b-ff66-d3a6-830e74f45773.png)

| 名称 | 値 |
|:-:|:-:|
| 名前 | 解りやすい名前  |
| コメント | ツールチップに表示する内容 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/86ef8428-a2b2-f50b-f001-bbe3fa336d88.png) |
|ホスト|localhost|
|ポート|6379 |
|認証|なし|
|データベース|0<br>※デフォルトのデータベース番号<br>|

設定完了後、「接続テスト」をクリックし、接続確認を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/6bb1235e-1245-0425-c1d7-ca0accc22b04.png)

「成功」が表示されたら接続成功です。
「OK」を押して、設定を完了させます。

##### Redisサーバー立ち上げに利用したdocker-composeはこちら
```dockerfile:docker-compose.yml
version: "3.9"
services:
    redis:
        image: redis:latest
        command:
            - --save ""
            - --stop-writes-on-bgsave-error no
        ports:
            - "6379:6379"
```


## 使い方
#### 表示するデータベースを増やす
登録時点では、デフォルトのデータベース「0」のみ表示された状態となります。
もし、Redisで複数データベースを利用している場合は「*16個中x個を表示*」をクリックすることで、表示するデータベースを追加することが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/f2a80909-ecc3-7dbb-e2a3-3fa4efb7d6f3.png)

#### データを見る
テータベース番号をクリックすると、キーが表示されます。
キーをダブルクリックすると、内容が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/db627b33-d9e3-fece-fc18-eb4c38d23292.png)

#### コンソールを開く
コンソールを開くことで、redis-cliのように、コマンドで流すことが出来ます。
接続したいデータベース番号を選択して、クエリコンソールのアイコンから、コンソールを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/1b0fa0ed-5505-8d3b-ceb7-25344ff0b1d5.png)

すると、コンソールのタブが開くので、redis-cliコマンドを入力し実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/6cb0c1c9-2aac-0b30-aa22-a39d19ca01c7.png)



# SSHトンネルを利用して接続
Redisサーバーへの接続情報を設定後、トンネルに利用するサーバーを設定することで、RubyMineからSSHトンネルを利用した接続が行えるようになります。

一般の設定から「SSH/SSL」タブに移り「SSHトンネルの使用」にチェックします。
続けて「SSH構成」ボタンから接続するサーバー情報の追加に進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/974b711a-94bf-762e-0cb7-69915f7d42f5.png)
「＋」ボタンから、トンネルに利用するサーバーの情報を入力します。

＜AWS EC2を利用した場合の一例＞
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/5a795d2b-de4a-782b-740e-384d55c94410.png)
| 名称 | 値 |
|:-:|:-:|
| ホスト | 接続するEC2サーバーのIPアドレス  |
| ユーザー名 |  ec2-user<br>sshログインするユーザー名 |
| 認証タイプ | キーペア |
| 秘密鍵ファイル | EC2インスタンス作成時指定のキーペアファイル |

「接続のテスト」ボタンから、接続の確認を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251940/bba9968b-321f-e235-3e6b-ddddd505a6ec.png)

接続成功したら、登録を完了します。
データ参照などを行い、SSHトンネルを利用してRedisサーバーに繋がっていることを確認します。