PHPでRedisを試す
危険なほどのスピードを持つというKVS『Redis』。
redisドキュメント日本語訳を見て頂くと、Redisの持っている機能の概要が書いてあります。
インストール
自分の環境(CentOS 6.2)では、yumでインストールが可能でした。
# yum install redis # cp /etc/redis.conf /etc/redis.conf.bak
ソースからインストールする場合の手順と起動方法について、以下のページに記載があります。
http://redis.io/download
$ wget http://redis.googlecode.com/files/redis-2.4.15.tar.gz $ tar xzf redis-2.4.15.tar.gz $ cd redis-2.4.15 $ make
設定ファイル
yumでインストールを行った場合、設定ファイルは『/etc』配下に設置されます。
# cp /etc/redis.conf /etc/redis.conf.bak
起動
redisを起動します。
(デフォルトでは『127.0.0.1:6379』がオープン)
# /etc/rc.d/init.d/redis start # chkconfig redis on
次に、インストール手順に従い接続テストを行い、setとgetが問題なく動作する事を確認します。
$ redis-cli redis 127.0.0.1:6379> set foo bar OK redis 127.0.0.1:6379> get foo "bar" redis 127.0.0.1:6379> exit
これで、redisを試す環境が出来ました。
PHPからの接続
http://redis.io/clientsを見ると、様々な言語のクライアントリストが表示されます。
今回は『Predis』で、簡単な接続のみ試しました。
$ wget -O predis.zip https://github.com/nrk/predis/zipball/v0.7 $ unzip predis.zip
PHP側では、伸張したディレクトリ内に存在する『autoload.php』をrequireします。
下記が、getとsetのサンプルです。
<?php require 'nrk-predis-4bc6f58/autoload.php'; Predis\Autoloader::register(); // 接続 $redis = new Predis\Client('tcp://127.0.0.1:6379'); // 値をセット $redis->set('foo', 'bar'); // 値を取得 echo $redis->get('foo');
コマンドリファレンスを参考に、後は以下の形式で実行するだけです。
$redis->{コマンド}(パラメータ...); 例) $redis->hset('myhash', 'name', 'myname'); $redis->hget('myhash', 'name');