PHPでRedisを使ってみる
PHPでRedisを使ってみる。
前準備
$ sudo yum -y install httpd php
起動して、自動起動の設定もして、
$ sudo service httpd start
$ sudo chkconfig httpd on
パーミッションを変えておく。
$ sudo chown hoge:hoge /var/www/html/
phpredis
PECLのredisのライブラリをインストールする。
$ sudo yum -y install php-pecl-redis --enablerepo=epel
Apacheを再起動して反映。
$ sudo service httpd restart
ライブラリの使い方は下記のページを見るのがよさそう。
nicolasff/phpredis https://github.com/nicolasff/phpredis#classes-and-methods
確認
$ cd /var/www/html/
$ vi index.php
<?php $redis = new Redis(); $redis->connect("127.0.0.1",6379); // PINGで確認する echo $redis->ping();
String型
<?php $redis = new Redis(); $redis->connect("127.0.0.1",6379); // クリアしてまっさらにしておく $redis->delete('key'); // 値をセットする $redis->set('key', 'value'); // 値を取得する $value = $redis->get('key'); // 表示 echo $value;
Hash型
<?php $redis = new Redis(); $redis->connect("127.0.0.1",6379); // クリアしてまっさらにしておく $redis->delete('key'); // 値をセットする $redis->hSet('key', 'key1', 111); $redis->hSet('key', 'key2', 222); // 値を取得する $value1 = $redis->hGet('key', 'key1'); $value2 = $redis->hGet('key', 'key2'); $all = $redis->hGetAll('key'); // 表示 echo $value1 . '<br>'; echo $value2 . '<br>'; print_r($all);
List型
<?php $redis = new Redis(); $redis->connect("127.0.0.1",6379); // クリアしてまっさらにしておく $redis->delete('key'); // 値をプッシュする $redis->rPush('key', '111'); $redis->rPush('key', '222'); $redis->lPush('key', '333'); // 値を取得する $value = $redis->lRange('key', 0, -1); // 表示 print_r($value);
Set型
<?php $redis = new Redis(); $redis->connect("127.0.0.1",6379); // クリアしてまっさらにしておく $redis->delete('key1'); $redis->delete('key2'); // 値を追加する $redis->sAdd('key1' , '111'); $redis->sAdd('key1' , '222'); $redis->sAdd('key2' , '222'); $redis->sAdd('key2' , '333'); // 和・積・差を取得する $union = $redis->sUnion('key1', 'key2'); $inter = $redis->sInter('key1', 'key2'); $diff = $redis->sDiff('key1', 'key2'); // 表示 print_r($union); echo '<br>'; print_r($inter); echo '<br>'; print_r($diff); echo '<br>';
Sorted Set型
<?php $redis = new Redis(); $redis->connect("127.0.0.1",6379); // クリアしてまっさらにしておく $redis->delete('key'); // スコアと値を追加する $redis->zAdd('key' , 20, 'aaa'); $redis->zAdd('key' , 40, 'bbb'); $redis->zAdd('key' , 10, 'ccc'); $redis->zAdd('key' , 30, 'ddd'); // スコアでソートして取得する $ranking = $redis->zRangeByScore('key', 0, 40); // 表示 print_r($ranking);