redisのインストール - Redisサーバー 揮発性データの高速保存とPub/Sub

CentOSの標準パッケージのリポジトリにはRedisサーバーが含まれていないので、エンタープライズ Linux 用の拡張パッケージ(EPEL)リポジトリをインストールします。

sudo yum -y install epel-release

Redisサーバーをインストールするにはredisパッケージをインストールします。

sudo yum -y install redis

Redisサーバーがインストールされたことの確認

Redisサーバーがインストールされたことをsystemctlのstatusコマンドで確認してみましょう。

sudo systemctl status redis

起動するには以下のコマンドを実行します。

sudo systemctl start redis

Redisクライアント - redis-cli

RedisサーバーをインストールするとRedisコマンドを実行できるredis-cliというコマンドラインアプリケーションもインストールされます。

Redisサーバーの用途

Redisサーバーには主に二つの用途があります。

揮発性データの高速保存

Redisサーバーは、揮発性データを高速に保存できます。

揮発性データというのは、一時的で消去が予定されているデータです。

セッション情報は、一定期間で消しますし、もし消えたとしても、ユーザーにログイン画面からやりなおしてもらうだけです。セッション情報は、揮発性のデータといえます。

またセッションは、HTTPリクエストのたびに取得しないといけないので、MariaDBのようなリレーショナルデータベースよりもRedisが、パフォーマンスがよいです。

Pub/Subによるpush通知

Redisは、Pub/Subと呼ばれるpush通知の仕組みを持っているので、リアルタイムチャット、リアルタイム更新、という分野の実装を比較的簡単に行うことができます。

Redisは、Web APIを持っているので、Webフレームワークがノンブロッキング対応している場合は、ノンブロッキングのHTTPリクエストでRedisにアクセスできます。

Mojolicious、WebSocket、Redisを使ったリアルタイムチャットのサンプルについては、以下を参考にしてください。

CentOS+PerlでWebシステム開発 環境構築のご紹介