计算机网络/计算机科学与应用/系统/运维/开发

Redis有序集合

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命令将返回空值



redis 有序集合

知识是抵御一切灾祸的盾牌

评论

^