php操作redis,秩序集合zset
一般的な規則化された集合操作には、次のようなものがあります.
1、集合にメンバーを追加するzAdd、zIncrBy
2、上位N名zRevRangeを取り出す
3、指定メンバーzDelete、zRem、zRemoveを削除する
4、あるメンバーの順位と点数zSorce、zRevRankを取り出す
5、統計数量zSize、
6、統計指定点数区間の個数zCount
7、指定された点数区間を満たすメンバーを取り出し、総小から大zRangeByScoreまで
8、全メンバーを取り出すzRange
1、集合にメンバーを追加するzAdd、zIncrBy
2、上位N名zRevRangeを取り出す
3、指定メンバーzDelete、zRem、zRemoveを削除する
4、あるメンバーの順位と点数zSorce、zRevRankを取り出す
5、統計数量zSize、
6、統計指定点数区間の個数zCount
7、指定された点数区間を満たすメンバーを取り出し、総小から大zRangeByScoreまで
8、全メンバーを取り出すzRange
connect('127.0.0.1', 6379);
if ($result !== true) {
echo " redis !";
exit;
}
$result = $redis->auth('123456'); //
if ($result !== true) {
echo "auth err";
exit;
}
echo "";
//
// ,
echo "1、
";
// key sort
$redis->zAdd('sort', 80, 'mrtwenty'); // ,
$redis->zAdd('sort', 92, 'xiaohei');
$redis->zAdd('sort', 99, 'zhao');
$redis->zAdd('sort', 90, 'xiaoming');
//A , A , 1, A 1, 1 ,
$redis->zIncrBy('sort', 1, 'A');
print_r($redis->zRange('sort', 0, -1));
echo "
";
echo "2、
";
$list = $redis->zRevRange('sort', 0, 2);
print_r($list);
echo " ,
";
$list = $redis->zRevRange('sort', 0, 2, true);
print_r($list);
echo "
";
echo "3、zDelete、zRem、zRemove , 1 , 0
";
$result = $redis->zDelete('sort', 'A');
echo "4、
";
printf(" zhao :%d
", $redis->zScore('sort', 'zhao'));
// false ,0 zRevRank zRank
printf(" zhao :%d
", $redis->zRevRank('sort', 'zhao'));
printf("5、 :%d
", $redis->zSize('sort')); // zCard
printf("6、 80 100 :%d
", $redis->zCount('sort', 80, 100));
echo "7、 ,
";
$list = $redis->zRangeByScore('sort', 90, 100);
//withscores ,limit
// $list = $redis->zRangeByScore('sort', 90, 100, ['withscores' => true, 'limit' => [0, 2]]);
print_r($list);
echo "
";
//8、 key,0 ,-1
echo "8、 :
";
$list = $redis->zRange('sort', 0, -1);
print_r($list);