大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说Yii redis zset有序集合的使用,希望您对编程的造诣更进一步.
和散列存储着键与值之间的映射关系类似,有序集合也存储着成员与分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序地获取(fetch)和扫描(scan)成员和分值的命令。这里介绍一些常用命令,以及在 Yii 中的使用。
ZADD
ZADD:ZADD key-name score member [score member …]
将带有给定分值的成员添加到有序集合里面。
ZREM
ZREM:ZREM key-name member [member …]
从有序集合里面移除给定的成员,并返回被移除成员的数量。
ZCARD
ZCARD:ZCARD key-name
返回有序集合包含的成员数量。
ZINCRBY
ZINCRBY:ZINCRBY key-name increment member
将 member 成员的分值加上 increment。
ZCOUNT
ZCOUNT:ZCOUNT key-name min max
返回分值介于 min 和 max 之间的成员数量。
ZRANK
ZRANK:ZRANK key-name member
返回成员 member 在有序集合中的排名。排名从 0 开始。
ZSCORE
ZSCORE:ZSCORE key-name member
返回成员 member 的分值。
ZRANGE
ZRANGE:ZRANGE key-name start stop [WITHSCORES]
返回有序集合中排名介于 start 和 stop 之间的成员,如果给定了可选的 WITHSCORES 选项,那么命令会将成员的分值也一并返回。
ZREVRANK
ZREVRANK:ZREVRANK key-name member
返回有序集合里成员 member 的排名,成员按照分值从大到小排序。
ZREVRANGE
ZREVRANGE:ZREVRANGE key-name start stop [WITHSCORES]
返回有序集合给定排名范围内的成员,成员按照分值从大到小排序。
ZRANGEBYSCORE
ZRANGEBYSCORE:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
返回有序集合中,分值介于 min 和 max 之间的所有成员。
ZREVRANGEBYSCORE
ZREVRANGEBYSCORE:ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
获取有序集合中分值介于 min 和 max 之间的所有成员,并按照分值从大到小的顺序来返回它们。
ZREMRANGEBYRANK
ZREMRANGEBYRANK:ZREMRANGEBYRANK key-name start stop
移除有序集合中排名介于 start 和 stop 之间的所有成员。
ZREMRANGEBYSCORE
ZREMRANGEBYSCORE:ZREMRANGEBYSCORE key-name min max
移除有序集合中分值介于 min 和 max 之间的所有成员。
在 Yii 中使用实例:
// 添加3组成员及其分值 Yii::$app->redis->zadd("testZsetKey", 1, "a", 2, "b", 3, "c"); // 3 // 返回成员数量 Yii::$app->redis->zcard("testZsetKey"); // 3 // 将c成员的分值加3 Yii::$app->redis->zincrby("testZsetKey", 3, "c"); // 6 // 返回c成员的分值 Yii::$app->redis->zscore("testZsetKey", "c"); // 6 // 获取c在有序集合中的排名,排名从0开始 Yii::$app->redis->zrank("testZsetKey", "c"); // 2 // 返回分值介于1和6之间的成员数量 Yii::$app->redis->zcount("testZsetKey", 1, 6); // 3 // 移除成员b Yii::$app->redis->zrem("testZsetKey", "b"); // 1 // 返回有序集合中所有成员及分值 Yii::$app->redis->zrange("testZsetKey", 0, -1, "WITHSCORES"); // ["a","1","c","6"]
代码100分
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7453.html