いまさらなんですが、永続的memcachedと言われている、redisをインストールしてみました。 redisは、ニコニコ動画や、DECOLOG等で利用されている実績があるようで、単純な解釈ですと、サーバを再起動しても、データはなんとなく保障されているといった感じでしょうか? また、NoSQLでは必須であるレプリケーションや、クラスタリングなどもサポートされており、また、それらの設定も簡単なようです。
▼redis-serverのインストール
[shell]
wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz
tar zxvf redis-2.0.4.tar.gz
cd redis-2.0.4
makeを実行
make
サーバを起動
./redis-server
[/shell]
▼クライアントから接続試験 cliを使って、どんなもんか確認してみます。
・単純な値の書き込み 下記例は、mykeyに対して、somevalue という値を書き込む例です [shell]
./redis-cli set mykey somevalue
OK [/shell]
上記のキー値を確認します [shell]
./redis-cli get mykey
"somevalue" [/shell]
・リストを利用した書き込み
リストに追記してみる [shell]
./redis-cli lpush rdlist tokyo
(integer) 1
./redis-cli lpush rdlist osaka
(integer) 2
./redis-cli lpush rdlist kanagawa
(integer) 3
./redis-cli lpush rdlist chiba
(integer) 4
./redis-cli lpush rdlist kobe
[/shell]
登録した値の確認
・リスト中に含まれる要素の数を返します [shell]
./redis-cli llen rdlist
(integer) 5 [/shell]
・登録したリストの値を全件出力する [shell]
./redis-cli lrange rdlist 0 -1
- "kobe"
- "chiba"
- "kanagawa"
- "osaka"
- "tokyo" [/shell]
- lpush したので配列の若い順に値が格納されております。ちなみに[rdlist 0 -1] の -1 はlistの最大値から -1したものです。(配列は0から始まるので)
・登録したリストから上位2件を出力します [shell]
./redis-cli lrange rdlist 0 1
- "kobe"
- "chiba" [/shell]
- 特に説明いらないかな? 配列 0 から 1の範囲の値をもってきております。
次回は、アプリケーションからredisを利用する方法と利用用途について考えてみたいと思います
ちなみに、yum(remi)でもインストールできます、管理考えるのであれば、こっちのほうが個人的には楽
<<rpmforge,remi,epelのインストール>> cd /usr/local/src wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm rpm -ivh epel-release-5-4.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm rpm -ivh remi-release-5.rpm <<指定したリポジトリでのインストール>> # yum --enablerepo=remi list redis