Redisを使ってみました。
インストール
ちょっと遊ぶだけなので、Homebrewで手元のMacにサクっと入れます。
brew install redis
インストールが完了すると、起動設定のコマンドが出力されます。これをコピペして実行します。
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/redis/2.4.15/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
プロセスを確認すると、ちゃんと走っています。
$ ps aux | grep redis
katty 16646 0.0 0.0 2434892 548 s004 S+ 4:39PM 0:00.00 grep redis
katty 16643 0.0 0.0 2444132 1096 ?? S 4:39PM 0:00.01 /usr/local/bin/redis-server /usr/local/etc/redis.conf
telnetで使ってみる
Redisのデフォルトのポートは6379だそうなので、ここにtelnetで繋いでコマンドを叩いてみたいと思います。
$ telnet localhost 6379
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
set hoge HOGEHOGE
+OK
get hoge
$8
HOGEHOGE
setとgetは簡単にできました。
RedisはKVSですが、ものすごく多用なコマンドを持っているので、全てを把握するだけでも大変そうです。「Command reference – Redis」をざっと見ると100個くらいはあります。いろいろできそうでワクワクします。
PHPから使う
最後にPHPから使ってみました。まだコマンドを勉強していないので、Memcached的にsetとgetをするだけですが・・・。
PHP用のライブラリは、predisが良さそうです。githubに公開されているので、cloneしてきます。
git clone https://github.com/nrk/predis
ただライブラリを読み込んで、接続して、適当にsetとgetをする処理を書きました。
set('hoge', str_repeat('HOGE',rand(1,5)));
echo $redis->get('hoge') . "\n";
}
実行結果が以下です。ちゃんと動きました。
$ php redis_sample.php
HOGE
HOGEHOGEHOGEHOGE
HOGE
HOGE
HOGEHOGEHOGEHOGEHOGE
HOGEHOGEHOGE
HOGEHOGE
HOGEHOGEHOGE
HOGEHOGEHOGE
HOGEHOGEHOGE
本当の使い方はこんなものではない。
というわけで、Redisのほんの入り口あたりの機能を試してみました。
けれど、Redisの使いどころは、配列として保持されたデータの操作だったり、メモリとディスクのうまい使い分けだったりします。そういうわけで、もう少し掘り下げていくつもりです。
コメント