facebook twitter hatena line google mixi email

Php/redis/helloworld

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

取得&格納

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// $redis->connect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout.
$redis->set('key1', 'hoge');
print $redis->get('key1'); // hoge

有効時間を決めて格納

$redis->setex('key2', 10, 'hoge_10秒だけ保持');
print $redis->get('key2');

削除

$redis->delete('key1');
$redis->delete('key1', 'key2'); // 一括指定も可能

リスト追加

$redis->rPush('key1', 'A');
$redis->rPush('key1', 'B');

前方追加

$redis->lPush('key1', 'C');

リスト全取得

$redis->rPush('key1', 'A');
$redis->rPush('key1', 'B');
$redis->rPush('key1', 'C');
$redis->lRange('key1', 0, -1); /* array('A', 'B', 'C') */
$redis->lSize('key1');/* 3 */

ランク取得

$redis->delete('z');
$redis->zAdd('key', 1, 'one');
$redis->zAdd('key', 2, 'two');
$redis->zRank('key', 'one'); /* 0 */
$redis->zRank('key', 'two'); /* 1 */
$redis->zRevRank('key', 'one'); /* 1 */
$redis->zRevRank('key', 'two'); /* 0 */

ソート取得

$redis->delete('z');
$redis->zAdd('key', 1, 'one');
$redis->zAdd('key', 2, 'two');
var_dump($redis->zRange('key', 0, -1); //Array ( [0] => one [1] => two )

セッションハンドラに使う

session.save_handler = redis
session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"

キーリスト取得

$redis->set('user1', 1);
$redis->set('user2', 2);
$redis->set('user3', 3);
$redis->set('test', 10);
var_dump($redis->keys('user*')); // array(3) { [0]=> string(5) "user1" [1]=> string(5) "user2" [2]=> string(5) "user3" }