Redis

ローカル環境のRedisにセッションデータを格納してみた

以前、Azure Cache for Redisを作成し、そこにセッションデータを格納したことがあったが、今回はローカル環境にRedisを用意し、そこにセッションデータを格納してみたので、その手順とサンプルプログラムを共有する。

前提条件

下記記事の実装が完了していること。

Azure Cache for Redisにセッションデータを格納してみたSpring Sessionは、ユーザーのセッション情報を管理するための API と実装を提供するため、これを利用すると、セッションデー...

やってみたこと

  1. Redisのダウンロード
  2. Redisサーバーの起動と接続
  3. サンプルプログラムの作成
  4. サンプルプログラムの実行結果

Redisのダウンロード

Redisは、Webサイトからダウンロードすることができる。その手順は以下の通り。

1) 以下のページにアクセスし、「Redis-x64-3.0.504.zip」のリンクを押下しダウンロードする。
https://github.com/MicrosoftArchive/redis/releases

Redisのダウンロード_1

2) ダウンロードしたファイルは、以下の通り。
Redisのダウンロード_2

3) ダウンロードした「Redis-x64-3.0.504.zip」を展開する。
Redisのダウンロード_3

4) 展開した「Redis-x64-3.0.504」フォルダの中身は、以下の通り。なお「redis-server.exe」はRedisサーバー起動コマンド、「redis-cli.exe」はRedisクライアントからRedisサーバー接続用コマンドとなる。
Redisのダウンロード_4



Redisサーバーの起動と接続

Redisサーバーの起動と接続は、先程展開した「Redis-x64-3.0.504」フォルダ内のexeを実行することで行える。その手順は以下の通り。

1) ローカルのRedis サーバーを起動するため、Redisを解凍したディレクトリに移動後、「redis-server.exe」を実行する。
Redisの起動_1

2) 下記メッセージが表示された場合は、「アクセスを許可する」ボタンを押下する。
Redisの起動_2

3) Redisサーバーを起動した後のコマンドプロンプトの内容は、以下の通り。
Redisの起動_3

4) RedisクライアントからRedisサーバーに接続するため、別のコマンドプロンプト上で「redis-cli.exe」コマンドを実行する。
Redisの起動_4

5) Redisクライアントを終了するには、「exit」コマンドを実行する。
Redisの起動_5

6) Redis Serverを停止するには、コマンドプロンプト上で「Ctrl+C」ボタンを押下する。そうすると、下記画面の赤枠部分が表示される。
Redisの起動_6



サンプルプログラムの作成

作成したサンプルプログラム(App Service側)の構成は以下の通り。なお、Azure Functions側のソースコードは修正していない。
サンプルプログラムの構成
なお、上記の赤枠は、前提条件のプログラムから追加・変更したプログラムである。

application.propertiesの設定は以下の通りで、Redisサーバーへの接続先をローカルに変更している。

また、Spring Sessionの設定は以下の通りで、Redisサーバー接続時にSSLを利用するかどうかの設定を追加している。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/local-redis-session/demoAzureApp



サンプルプログラムの実行結果

サンプルプログラムの実行結果は、以下の通り。

1) ローカル環境のRedisサーバーを起動する。
サンプルプログラムの実行結果_1

2) ローカル環境のAzure Functionsを起動する。
サンプルプログラムの実行結果_2

3) ローカル環境のApp Serviceのメインクラスを起動する。
サンプルプログラムの実行結果_3

4) 「http:// (ホスト名):(ポート番号)」とアクセスし、「検索」ボタンを押下する。
サンプルプログラムの実行結果_4

5) 以下のように、一覧にユーザーデータが表示されることが確認できる。
サンプルプログラムの実行結果_5

6) 「keys *」コマンドを入力後、「expires」を含まないRedisサーバー上のセッションデータを確認すると、一覧データがセッションに入っていることが確認できる。
サンプルプログラムの実行結果_6_1

サンプルプログラムの実行結果_6_2

要点まとめ

  • Redisをローカル環境で動かすための「Redis-x64-3.0.504.zip」は、Webサイトからダウンロードできる。
  • 「redis-server.exe」はRedisサーバー起動コマンド、「redis-cli.exe」はRedisクライアントからRedisサーバー接続用コマンドとなる。
  • App ServiceのRedis接続先を変更するには、application.propertiesやSpring Sessionの設定を変更すればよい。