Redis 将一个或多个 member 元素及其 score 值加入到有序集 key 当中 命令:ZADD

ZADD key score member [[score member] [score member] ...]

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

 

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

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

 

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

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

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

 

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

 

可用版本:

>= 1.2.0

 

时间复杂度:

O(M*log(N)), N 是有序集的基数, M 为成功添加的新成员的数量。

 

返回值:

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

 

实例:

添加单个元素

redis> ZADD page_rank 10 google.com

(integer) 1

 

添加多个元素

redis> ZADD page_rank 9 baidu.com 8 bing.com

(integer) 2

 

redis> ZRANGE page_rank 0 -1 WITHSCORES

1) "bing.com"

2) "8"

3) "baidu.com"

4) "9"

5) "google.com"

6) "10"

 

添加已存在元素,且 score 值不变

redis> ZADD page_rank 10 google.com

(integer) 0

 

redis> ZRANGE page_rank 0 -1 WITHSCORES # 没有改变

1) "bing.com"

2) "8"

3) "baidu.com"

4) "9"

5) "google.com"

6) "10"

 

添加已存在元素,但是改变 score 值

redis> ZADD page_rank 6 bing.com

(integer) 0

 

redis> ZRANGE page_rank 0 -1 WITHSCORES # bing.com 元素的 score 值被改变

1) "bing.com"

2) "6"

3) "baidu.com"

4) "9"

5) "google.com"

6) "10"

付杰
  • ¥ 199.0元
  • 市场价:399.0元
  • ¥ 69.0元
  • 市场价:99.0元
  • ¥ 98.0元
  • 市场价:298.0元
  • ¥ 999元
  • 市场价:4999元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: