Redis的有序集合(sorted set)同时具有“有序”和“集合”两种性质
1、ZADD 添加或更新成员
ZADD sorted_set score member [score member ....]
返回成功添加的新成员数量作为返回值
127.0.0.1:6379> ZADD salary 3500 "peter" 4000 "jack" 2000 "tom" 5500 "mary" (integer) 4 -- 向有序集合新添加4个成员
a、更新已有成员的分值
127.0.0.1:6379> ZADD salary 5000 "tom" (integer) 0 -- 没有添加任何新成员 所以命令返回0
b、指定要执行的操作
Redis允许用户在执行ZADD命令时,通过使用可选的XX选项或者NX选项来显式地指示命令只执行更新操作或者只执行添加操作
ZADD sorted_set [xx|nx] score member [score member ....]
c、返回被修改成员的数量
从Redis 3.0.2版本开始,用户可以通过给定CH选项,让ZADD命令返回被修改(changed)成员的数量作为返回值
ZADD sorted_set [CH] score member [score member ....]
2、ZREM 移除指定成员
ZREM sorted_set member [member ...]
返回被移除成员的数量作为返回值
例1:移除salary有序集合中的成员"peter"
127.0.0.1:6379> ZREM salary "peter" (integer) 1 -- 移除了一个成员
例2:移除salary有序集合中的成员"tom"以及"jack"
127.0.0.1:6379> ZREM salary "tom" "jack" (integer) 2
如果用户给定的某个成员并不存在于有序集合中,那么ZREM将自动忽略该成员
3、ZSCORE 获取成员的分值
获取与给定成员相关联的分值
ZSCORE sorted_set member
例1:获取mark成员的分数
127.0.0.1:6379> ZSCORE salary "mary" "5500"
如果用户给定的有序集合并不存在,或者有序集合中并未包含给定的成员,那么ZSCORE命令将返回空值