Redis 有序集合(zset)

Redis zadd 命令用于将所有具有指定分数的成员添加到存储在 key 的排序集中。

  • 如果指定的成员是存储集的现有成员,则更新分数并将元素重新插入正确的位置以确保正确的排序。
  • 当key不存在或排序集为空时,将创建一个具有指定成员作为唯一成员的新排序集。
  • 当key存在但不是排序集,则返回错误。

语法:

zadd key_name score1 value1.. scoreN valueN 

可用版本

>=1.2.0.

返回值

添加到排序集中的元素数,不包括已更新分数的元素。

返回值类型

整数

示例1:Redis zadd

127.0.0.1:6379> zadd mycolorset 1 white
(integer) 1
127.0.0.1:6379> zadd mycolorset 2 black
(integer) 1
127.0.0.1:6379> zadd mycolorset 3 red
(integer) 1
127.0.0.1:6379> zrange mycolorset 0 -1
1) "white"
2) "black"
3) "red"
127.0.0.1:6379> zrange mycolorset 0 -1 withscores
1) "white"
2) "1"
3) "black"
4) "2"
5) "red"
6) "3" 

示例2:Redis zadd 

 127.0.0.1:6379> zadd mycolorset 4 blue 5 green
(integer) 2
127.0.0.1:6379> zrange mycolorset 0 -1 withscores
 1) "white"
 2) "1"
 3) "black"
 4) "2"
 5) "red"
 6) "3"
 7) "blue"
 8) "4"
 9) "green"
10) "5" 

示例3:Redis zadd 

 127.0.0.1:6379> zadd mycolorset 1 white 1 black 1 red 1 blue 1 green
(integer) 5
127.0.0.1:6379> zrange mycolorset 0 -1 withscores
 1) "black"
 2) "1"
 3) "blue"
 4) "1"
 5) "green"
 6) "1"
 7) "red"
 8) "1"
 9) "white"
10) "1" 

示例4:Redis zadd

 127.0.0.1:6379> zadd mycolorset 1 orange
(integer) 1
127.0.0.1:6379> zrange mycolorset 0 -1 withscores
 1) "black"
 2) "1"
 3) "blue"
 4) "1"
 5) "green"
 6) "1"
 7) "orange"
 8) "1"
 9) "red"
10) "1"
11) "white"
12) "1"