CentOSでRedisサーバを使う

CentOSでRedisサーバを使う

記事一覧CentOSでRedisサーバを使う

冗長化した Web サーバなどで、セッションの管理や、セッションや特定のユーザーに紐付く一時データを管理するのに memcache を使う場面は多いと思います。

その memcache の中でも主流なのが memcached ですが、最近では redis の言葉をよく聞くようになりました。

下記のブログ記事でもわかる通り、速度面ではかなりの評価のようです。

redis、それは危険なほどのスピード

今回は、手元の VMware にある CentOS 6.3(64bit)環境のインストール手順と設定についてまとめておきたいと思います。

phpredis.so も提供されているので、PHP との連携もすぐにできちゃいます。

Windows 上で redis サーバを立ち上げる方法もありますが、コードを書くのは Windows、Web サーバやその他ミドルウェアは VMware 上の Linux というのが私の中では一番楽です。

実際に運用する環境は Linux ですしね。

ただ、XAMPP を使って開発している人も多いかもしれませんので、Windows 上に redis サーバを立ち上げて PHP と連携する方法も次回書いておきたいと思います。

目次

RedisのLinuxへのインストール手順

yum でも redis サーバとクライアントのインストールはできるかもしれませんが、今回はソースからインストールを行います。

最新版のバージョン 2.6.2 を取得して、make するだけでインストールは完了です。

$ cd /usr/local/src

$ wget https://redis.googlecode.com/files/redis-2.6.2.tar.gz

$ tar xvzf redis-2.6.2.tar.gz

$ cd redis-2.6.2

$ make && make install

次に設定をします。以前は redis のサイトの Installation ページに詳しく設定内容が書いてあったと思うのですが、今はなくなってしまっていますね。

redis 用の設定ファイルを配備する /etc/redis と、/var/redis のディレクトリを作成します。

その後、用意されている初期ファイルを、作成したディレクトリにコピーします。

$ mkdir /etc/redis

$ mkdir -p /var/redis/6379

$ cp utils/redis_init_script /etc/init.d/redis_6379

$ cp redis.conf /etc/redis/6379.conf

コピーが完了したら、まずは redis サーバの設定ファイルを調整します。

編集部分だけ抜粋して書いておきます。

$ vi /etc/redis/6379.conf

#daemonize no
daemonize yes

#pidfile /var/run/redis.pid
pidfile /var/run/redis_6379.pid

#logfile stdout
logfile /var/log/redis_6379.log

#dir ./
dir /var/redis/6379

次にサービスの設定をします。

chkconfig で管理できるように起動スクリプトを調整します。

$ vi /etc/init.d/redis_6379

# chkconfig: - 58 74
# description: redis_6379 is the redis daemon.

chkconfig でサービスの登録をして、起動確認と自動起動の設定をします。

$ chkconfig --add redis_6379

$ chkconfig redis_6379 on

$ /etc/init.d/redis_6379 start

$ netstat -an | grep 6379

起動に問題がなければ実際に動作確認をしてみます。

まずは定番の、foo というキーに bar という値を設定してみます。

そして、foo の中身を確認して、bar が取得できることを確認します。

また、f から始まるキーを検索して foo が見付かることも確認してみます。

他にもリストを使う機会も多くなると思いますが、詳しくはコマンドリファレンスを見るようにしましょう。

Command reference – Redis

$ redis-cli -p 6379 set foo bar

OK

$ redis-cli -p 6379 get foo

"bar" 

$ redis-cli -p 6379 keys f*

1) "foo" 

参考カテゴリ

エンジニア記事一覧

最新の投稿やよく見られているのオススメ記事一覧です。