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" 

参考カテゴリ

オススメ記事

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

標準出力と標準エラー出力をパイプに渡す

よく、標準出力先をファイルにリダイレクトすることはありますが、意外に標準エラー出力は使う機会がありません。しかし、やはりツールやパッケージ製品になると標準エラー出力も活用されているようです。でも、...

Linux(FreeBSD)

>>記事を確認する

主要無料ブログ5つに対する自動投稿PHPプログラム

アメブロへ楽天APIなどの情報を自動で投稿する の反響が良かったので、どうせならアメブロ以外の無料ブログの XML-RPC を使った自動投稿も紹介したいと思います。これには FC2BlogManager.php というライブ...

PHP

>>記事を確認する

snmpでデバイスの情報を取得

snmpでデバイスの情報を取得するコマンドです。これを元に、ディスクIOなどのMIB値を探します。 $ snmpwalk -v 2c -c {SNMPGROUPNAME} localhost 1.3.6.1.4.1.2021.13.15.1.1.2 (結果の一部) UCD-DIS...

Linux(FreeBSD)

>>記事を確認する

awkで指定したカラム以降をprint表示する

前回、awk で最後のカラム以外を表示してみましたが、今回は指定したカラム以降のカラムを全部表示したいと思います。 例えば、7 個の文字列がカンマで区切られているファイルがあるとしたら、3 番目のカラム...

awk / シェル

>>記事を確認する

CentOSでRedisサーバを使う

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

Linux(FreeBSD) / CentOS / Redis

>>記事を確認する

ドメイン取るなら低価格で楽々管理

バリュードメインは、GMO デジロック社の低価格ドメイン総合サービスです。

このサイト含め、私もこれまでに 100 個以上のドメインを取得して管理してきましたが、WHOIS の代理公開も可能なので、無料 SSL 証明書の Let's Encrypt と組み合わせれば、かなりの低価格で SSL サイトも運営できます。

年単位で領収証発行もしてくれるので、たくさんサイトを抱えているアフィリエイターや個人事業主にもオススメです。

AWSの無料利用枠内で複数サイトをサクサクと運営する方法

MySQLでテーブル定義を取得

似たような構成のテーブルを作る時に、今までは mysqldump コマンドで -d オプションを付けて実行していました。 これでも十分に要件は満たせるのですが、MySQL のコンソールからサクっと出したい場合もある...

データベース / MySQL

>>記事を確認する

Poderosa5の登場と文字色と背景色

新しい PC を購入したので、久し振りに Poderosa のインストールをしたのですが、Poderosa-Terminal として最新バージョンの 5 が 2016 年に登場していました。 これ、職場でもインストールしてみたのですが...

Windows / ツール

>>記事を確認する

Laravel5.1からLaravel5.5へアップデートする

LTS だった Laravel5.1 のバグフィックスサポートが 2017 年の 6 月で終わり、セキュリティサポートも 2018 年の 6 月で終了となります。 このタイミングで、兼ねてから発表のあった、次期 LTS の Laravel5.5...

PHP / PHPフレームワーク / Laravel

>>記事を確認する

VagrantでCentOS6.9のイメージを使う

CentOS7 が既に 7.3 まで出ていますが、AmazonLinux がまだ 6 の構成と似ていることから、なかなか 7 系に移行できません。 そこで、Vagrant のイメージも 6 系の最新版を使うと思ったのですが、下記の BOX ...

Linux(FreeBSD) / CentOS / Vagrant

>>記事を確認する