Redis学习笔记(06-存储sorted set类型的基本命令)

一.sorted set类型介绍

有序集合,和set集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

二.向有序集合添加一个或多个成员,以及更新已存在成员的分数

语法:ZADD key_name score1 value1(多个使用空格分隔)

Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置。

分数值可以是整数值或双精度浮点数。如果有序集合 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。

注:在 Redis 2.4 版本以前, ZADD 每次只能添加一个元素。
ZADD myzset 1 xiaoxiao1 1 xiaoxiao2 3 xiaoxiao3

三.通过索引区间返回有序集合成指定区间内的成员

语法:ZRANGE key_name start stop [WITHSCORES]

Zrange 返回有序集中,指定区间内的成员。其中成员的位置按分数值递增(从小到大)来排序。具有相同分数值的成员按字典序(lexicographical order )来排列。

参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。

你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。

ZRANGE myzset 0 2

四.获取有序集合的成员数

语法:ZCARD key_name
ZCARD myzset

五.移除有序集合中的一个或多个成员

语法: ZREM key_name member(多个用空格分隔)  

Zrem 命令用于移除有序集中的一个或多个成员,不存在的成员将被忽略。当 key 存在但不是有序集类型时,返回一个错误。

注: 在 Redis 2.4 版本以前, ZREM 每次只能删除一个元素。

ZREM myzset xiaoxiao1 xiaoxiao2

再来看成员数


 
 




猜你喜欢

转载自blog.csdn.net/u012430402/article/details/80516202