redis = new Redis();
if (!$this->redis->connect($hostname, $port)) {
throw new Exception('fail connect redis server.');
}
}
/**
* デストラクタ
*/
public function __destruct() {
$this->redis->close();
}
public function setValue($key, $value) {
$this->redis->set($key, $value);
}
public function getValue($key) {
return $this->redis->get($key);
}
public function zAdd($key, $score, $value) {
$this->redis->zAdd($key, $score, $value);
}
public function zRevRange($key, $start, $end, $flg) {
return $this->redis->zRevRange($key, $start, $end, $flg);
}
public function zCount($key, $score) {
return $this->redis->zCount($key, $score, '+inf');
}
public function zIncrBy($key, $score, $value) {
$this->redis->zIncrBy($key, $score, $value);
}
public function zScore($key, $value) {
return $this->redis->zScore($key, $value);
}
}
===== =====
setValue('foo', 'bar');
$value = $redis->getValue('foo');
var_dump($value);
*/
$redis->zAdd('fooo', 1, 'taro');
$redis->zAdd('fooo', 2, 'hanako');
$redis->zAdd('fooo', 3, 'jiro');
$redis->zAdd('fooo', 4, 'yoko');
$redis->zAdd('fooo', 5, 'yoji');
$ranking = $redis->zRevRange( 'fooo', 0, -1, true );
echo "";
foreach($ranking as $user => $score ) {
$score++;
$val = $redis->zCount('fooo', $score);
echo "$user=".($val+1)."\n";
echo "$user=".$redis->zScore('fooo', $user)."\n";
}
$redis->zIncrBy('fooo', 5, 'yoji');
$ranking = $redis->zRevRange( 'fooo', 0, -1, true );
echo "";
foreach($ranking as $user => $score ) {
$score++;
$val = $redis->zCount('fooo', $score);
echo "$user=".($val+1)."\n";
echo "$user=".$redis->zScore('fooo', $user)."\n";
}