redis有序集合(zset)通过PHP实现有序集合的例子

redis有序集合(zset)

添加

    zadd 键 分1 成员1

获取

    zscore 键 成员 : 获取指定成员的分数

求长度

    zcard 键 : 获取成员数

操作

    求排名

        zrank 键 成员 : 升序 

        zrevrank  键 成员 : 降序

    求范围

        zrange 键 起始下标 结束下标 [withscores]: 升序

        zrevrange 键 起始下标 结束下标 [withscores]: 降序

    求分数

        zscore 键 成员 : 求分数

    按照分数查找

        zrangebyscore 键 最小值 最大值 [withscores] [limit offset count] : 升序

        zrevrangebyscore 键 最小值 最大值 [withscores] [limit offset count] : 降序

        zcount 键 最小值 最大值 :  统计成员数

递增

    zincrby 键 N 成员 : 给有序集合成员递增 N


练习:通过PHP实现有序集合的例子

            声明数学成绩(math)和英语成绩(english)两个有序集合

            求数学成绩的前三名和英语成绩的前三名

self::$redis->zAdd('math', [], '90', '王五', '80', '张三', '94', '李四', '58', '赵四');

self::$redis->zAdd('english', [], '60', '王五', '50', '张三', '80', '李四', '70', '赵四');

$mathTop = self::$redis->zRevRange('math', '0', '2', true);

$englishTop = self::$redis->zRevRange('english', '0', '2', true);

dump($mathTop);

dump($englishTop);



运行结果

image.png

最后编辑于:2021/07/01作者: 牛逼PHP

发表评论