目录
- 一、有序集合类型 :zset
- 一、zset 数据的操作命令
- 1.zadd key score member [score member…]
- 2.zrange key startIndex endIndex [WITHSCORES]
- 3.zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
- 4.zrem key member [member…]
- 5.zcard key
- 6.zcount key min max
- 7.zrank key member
- 9.zscore key member
- 10.zrevrange key startIndex endIndex [WITHSCORES]
- 11.zrevrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
- 写在最后
一、有序集合类型 :zset
Redis 有序集合 zset 和集合 set 一样也是 string 类型元素的集合,且不允许重复的成员。
不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的成员进行从小到大的排序。
| key | value score |
|---|---|
| salary | 楚子航 12000 路明非 10050 诺 诺 15600 |
一、zset 数据的操作命令
1.zadd key score member [score member…]
功能:将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果member存在集合中,则覆盖原来的值;score 可以是整数或浮点数。
返回值:新添加的元素个数。
127.0.0.1:6379> zadd stu 96 s1 98 s2 99 s3
(integer) 3
2.zrange key startIndex endIndex [WITHSCORES]
功能:查询有序集合,指定区间的内的元素。集合成员按score值从小到大来排序;
startIndex 和 endIndex 都是从0开始表示第一个元素,1表示第二个元素,以此类推;
startIndex 和 endIndex 都可以取负数,表示从后往前取,-1表示倒数第一个元素;
WITHSCORES选项让score和value一同返回。
返回值:指定区间的成员组成的集合。
127.0.0.1:6379> zrange stu 0 -1
1) "s1"
2) "s2"
3) "s3"
127.0.0.1:6379> zrange stu 0 -1 withscores
1) "s1"
2) "96"
3) "s2"
4) "98"
5) "s3"
6) "99"
3.zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
功能:获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括min和max)的成员,有序成员是按递增(从小到大)排序;
使用符号”(“ 表示包括min但不包括max;
withscores 显示score和 value;
limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个。
返回值:指定区间的集合数据。
127.0.0.1:6379> zrange stu 0 -1 withscores
1) "s1"
2) "96"
3) "s2"
4) "98"
5) "s3"
6) "99"
127.0.0.1:6379> zrangebyscore stu 97 100 withscores
1) "s2"
2) "98"
3) "s3"
4) "99"
4.zrem key member [member…]
功能:删除有序集合 key 中的一个或多个成员,不存在的成员被忽略。
返回值:被成功删除的成员数量,不包括被忽略的成员。
127.0.0.1:6379> zrem stu s1 s2
(integer) 2
127.0.0.1:6379> zrange stu 0 -1 withscores
1) "s3"
2) "99"
5.zcard key
功能:获取有序集 key 的元素成员的个数。
返回值:key存在,返回集合元素的个数;
key不存在,返回0。
127.0.0.1:6379> zcard stu
(integer) 1
6.zcount key min max
功能:返回有序集 key 中, score 值在 min 和 max 之间(包括 score 值等于 min 或 max )的成员的数量。。
返回值:指定有序集合中分数在指定区间内的元素数量。
127.0.0.1:6379> zadd stu 95 s1 97 s2 96 s3 100 s4 85 s5 89 s6
(integer) 6
127.0.0.1:6379> zcount stu 95 100
(integer) 4
7.zrank key member
功能:获取有序集 key 中成员 member 的排名;
有序集成员按 score 值从小到大顺序排列,从0开始排名,score最小的是0 。
返回值:指定元素在有序集合中的排名;
如果指定元素不存在,返回nil;
127.0.0.1:6379> zrange stu 0 -1 withscores
1) "s5"
2) "85"
3) "s6"
4) "89"
5) "s1"
6) "95"
7) "s3"
8) "96"
9) "s2"
10) "97"
11) "s4"
12) "100"
127.0.0.1:6379> zrank stu s5
(integer) 0
127.0.0.1:6379> zrank stu s4
(integer) 5
### 8.zrevrank key member 功能:获取有序集 key 中成员 member 的排名; 有序集成员按 score 值从大到小顺序排列,从0开始排名,score最大的是0 。 返回值:指定元素在有序集合中的排名; 如果指定元素不存在,返回nil; ```linux 127.0.0.1:6379> zrange stu 0 -1 withscores 1) "s5" 2) "85" 3) "s6" 4) "89" 5) "s1" 6) "95" 7) "s3" 8) "96" 9) "s2" 10) "97" 11) "s4" 12) "100" 127.0.0.1:6379> zrevrank stu s5 (integer) 5 ```
9.zscore key member
功能:获取有序集合key中元素member的分数。
返回值:返回指定有序集合元素的分数。
127.0.0.1:6379> zrange stu 0 -1 withscores
1) "s5"
2) "85"
3) "s6"
4) "89"
5) "s1"
6) "95"
7) "s3"
8) "96"
9) "s2"
10) "97"
11) "s4"
12) "100"
127.0.0.1:6379> zscore stu s5
"85"
10.zrevrange key startIndex endIndex [WITHSCORES]
功能:查询有序集合,指定区间的内的元素。集合成员按 score 值从大到小来排序;
startIndex 和 endIndex 都是从0开始表示第一个元素,1表示第二个元素,以此类推;
startIndex 和 endIndex 都可以取负数,表示从后往前取,-1表示倒数第一个元素;
WITHSCORES选项让score和value一同返回。
返回值:指定区间的成员组成的集合。
127.0.0.1:6379> zrange stu 0 -1
1) "s1"
2) "s2"
3) "s3"
127.0.0.1:6379>zrevrange stu 0 -1 withscores
1) "s3"
2) "99"
3) "s2"
4) "98"
5) "s1"
6) "96"
11.zrevrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
功能:获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括min和max)的成员,有序成员是按递增(从大到小)排序;
使用符号”(“ 表示包括min但不包括max;
withscores 显示score和 value;
limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个。
返回值:指定区间的集合数据。
127.0.0.1:6379> zrange stu 0 -1 withscores
1) "s1"
2) "96"
3) "s2"
4) "98"
5) "s3"
6) "99"
127.0.0.1:6379> zrangebyscore stu 97 100 withscores
1) "s3"
2) "99"
3) "s2"
4) "98"
写在最后
以上关于 Redis 中 zset 类型数据结构的具体内容,后续如果有时间的话我也将持续更新,如果有错误或者是哪里不足的地方,欢迎各位大大提出宝贵的意见呀~
此外,想了解关于 Redis 的一些其他使用命令使用方法可以关注下方公众号,后台回复 “redis ”即可获取,期待着您的光临~
相关链接:
链接: 008- Redis 数据结构 - hash类型.
链接: 007- Redis 数据结构 - set类型.
链接: 006 - Redis 数据结构 - List类型.
Redis zset详解
本文详细介绍了Redis中有序集合zset的数据结构及操作命令,包括添加、查询、删除等常用功能,并提供了具体实例。

1758

被折叠的 条评论
为什么被折叠?



