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);
运行结果
发表评论