zoukankan      html  css  js  c++  java
  • 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"]
  • 相关阅读:
    Swift技术之如何在iOS 8下使用Swift设计一个自定义的输入法 (主要是NSLayoutConstraint 的使用)
    android 旋转手机的时候,如何忽略onCreate再次被系统调用?
    在iOS 8中使用UIAlertController
    09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
    一些工具的版本问题 valgrind gdb 以及编译
    C struct __attribute__ ((__packed__))
    C++ class 只允许堆创建/只允许栈创建
    Shell 字符串操作
    存储系统的分类
    ssh 到服务器然后输入中文保存到本地变成乱码
  • 原文地址:https://www.cnblogs.com/woods1815/p/13288113.html
Copyright © 2011-2022 走看看