• ZADD key score member [[score member] [score member] …]
    • 返回值
    • 代码示例

    ZADD key score member [[score member] [score member] …]

    可用版本: >= 1.2.0
    时间复杂度: O(M*log(N)), N 是有序集的基数, M 为成功添加的新成员的数量。

    将一个或多个 member 元素及其 score 值加入到有序集 key 当中。

    如果某个 member 已经是有序集的成员,那么更新这个 memberscore 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。

    score 值可以是整数值或双精度浮点数。

    如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。

    key 存在但不是有序集类型时,返回一个错误。

    对有序集的更多介绍请参见 sorted set 。

    Note

    在 Redis 2.4 版本以前, ZADD 每次只能添加一个元素。

    返回值

    被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员。

    代码示例

    1. # 添加单个元素
    2.  
    3. redis> ZADD page_rank 10 google.com
    4. (integer) 1
    5.  
    6.  
    7. # 添加多个元素
    8.  
    9. redis> ZADD page_rank 9 baidu.com 8 bing.com
    10. (integer) 2
    11.  
    12. redis> ZRANGE page_rank 0 -1 WITHSCORES
    13. 1) "bing.com"
    14. 2) "8"
    15. 3) "baidu.com"
    16. 4) "9"
    17. 5) "google.com"
    18. 6) "10"
    19.  
    20.  
    21. # 添加已存在元素,且 score 值不变
    22.  
    23. redis> ZADD page_rank 10 google.com
    24. (integer) 0
    25.  
    26. redis> ZRANGE page_rank 0 -1 WITHSCORES # 没有改变
    27. 1) "bing.com"
    28. 2) "8"
    29. 3) "baidu.com"
    30. 4) "9"
    31. 5) "google.com"
    32. 6) "10"
    33.  
    34.  
    35. # 添加已存在元素,但是改变 score 值
    36.  
    37. redis> ZADD page_rank 6 bing.com
    38. (integer) 0
    39.  
    40. redis> ZRANGE page_rank 0 -1 WITHSCORES # bing.com 元素的 score 值被改变
    41. 1) "bing.com"
    42. 2) "6"
    43. 3) "baidu.com"
    44. 4) "9"
    45. 5) "google.com"
    46. 6) "10"