redis渐入佳境(05) zset类型

本文介绍了 Redis 中 Zset 数据类型的常见操作,包括添加、查询、排序、删除等方法,并展示了如何利用这些命令进行集合的管理和数据分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 

Zset就是有序集合,除了集合的特性外还对每一个集合元素添加了一个顺序的属性,

ZADD方法使用具体如下:ZADD 集合名  序号  集合元素

ZRAGE方法的使用具体如下:ZRANGE 集合名 开始位置 结束位置 [withscores]  //withscores 是指的是否显示序号

 

redis 127.0.0.1:6379>
redis 127.0.0.1:6379> ZADD zset1 0 xue //添加一个元素并指定序号
(integer) 1
redis 127.0.0.1:6379> ZADD zset1 1 lian
(integer) 1
redis 127.0.0.1:6379> ZADD zset1 2 bo 3 bo//一次添加多个元素并指定序号
(integer) 1
redis 127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "xue"
2) "0"
3) "lian"
4) "1"
5) "twoe"
6) "2"
7) "bo"
8) "3"
redis 127.0.0.1:6379> ZADD zset1 2 bo //重复添加会返回0
(integer) 0
redis 127.0.0.1:6379>
[redies@localhost redis-2.4]$

ZCARD命令,显示集合中的元素个数

ZCOUNT命令,显示集合中指定的序号范围内的元素的个数

redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "xue"
2) "0"
3) "lian"
4) "1"
5) "bo"
6) "2"
redis 127.0.0.1:6379> ZCARD zset1 //显示元素的个数
(integer) 3
redis 127.0.0.1:6379> ZCOUNT zset1 1 2//显示序号范围内的元素个数
(integer) 2

为元素的序号进行自增:ZINCRBY

redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "xue"
2) "0"
3) "lian"
4) "1"
5) "bo"
6) "2"
redis 127.0.0.1:6379> zincrby zset1 5 xue //对元素 xue 的序号进行自增5
"5"
redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "lian"
2) "1"
3) "bo"
4) "2"
5) "xue"
6) "5"
redis 127.0.0.1:6379>

ZREVRANGE 倒序显示元素

ZRANGEBYSCORE 根据序号的范围显示元素

ZRANK 显示某个元素在集合中位置根据序号

ZREVRANK 反向

redis 127.0.0.1:6379> ZREVRANGE zset1 0 -1 withscores
1) "xue"
2) "5"
3) "bo"
4) "2"
5) "lian"
6) "1"
redis 127.0.0.1:6379> ZRANGEBYSCORE zset1 5 5
1) "xue"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> ZRANK zset1 xue
(integer) 2
redis 127.0.0.1:6379> ZREVRANK zset1 xue
(integer) 0
redis 127.0.0.1:6379>

ZREM 删除元素

redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
 1) "xue"
 2) "0"
 3) "lian"
 4) "1"
 5) "bo"
 6) "2"
 7) "is"
 8) "3"
 9) "a"
10) "4"
11) "good"
12) "5"
13) "man"
14) "6"
15) "."
16) "7"
redis 127.0.0.1:6379> zrem zset1 xue lian bo
(integer) 3
redis 127.0.0.1:6379>

删除指定范围内的元素:ZREMRANGEBYRANK

redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
 1) "is"
 2) "3"
 3) "a"
 4) "4"
 5) "good"
 6) "5"
 7) "man"
 8) "6"
 9) "."
10) "7"
redis 127.0.0.1:6379> ZREMRANGEBYRANK zset1 0 1
(integer) 2
redis 127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "good"
2) "5"
3) "man"
4) "6"
5) "."
6) "7"
redis 127.0.0.1:6379>

删除指定的序号范围内的元素:ZREMRANGEBYSCORE

redis 127.0.0.1:6379> ZRANGE zset1 0 -1  withscores
 1) "xue"
 2) "0"
 3) "lian"
 4) "1"
 5) "bo"
 6) "2"
 7) "is"
 8) "3"
 9) "a"
10) "4"
11) "good"
12) "5"
13) "man"
14) "6"
15) "."
16) "7"
redis 127.0.0.1:6379> ZREMRANGEBYSCORE zset1 5 6
(integer) 2
redis 127.0.0.1:6379> ZRANGE zset1 0 -1  withscores
 1) "xue"
 2) "0"
 3) "lian"
 4) "1"
 5) "bo"
 6) "2"
 7) "is"
 8) "3"
 9) "a"
10) "4"
11) "."
12) "7"
redis 127.0.0.1:6379>

显示元素的序号:ZSCORE

redis 127.0.0.1:6379> ZSCORE zset1 xue
"0"
redis 127.0.0.1:6379> ZSCORE zset1 lian
"1"
redis 127.0.0.1:6379>

并集并存储到第三个集合中:ZUNIONSTORE

redis 127.0.0.1:6379> ZRANGE zset1 0 -1
1) "a"
2) "b"
3) "c"
redis 127.0.0.1:6379> ZRANGE zset2 0 -1
1) "d"
2) "e"
3) "f"
redis 127.0.0.1:6379> ZUNIONSTORE zset3 2 zset1 zset2
(integer) 6
redis 127.0.0.1:6379> ZRANGE zset3 0 -1 withscores
 1) "a"
 2) "0"
 3) "b"
 4) "2"
 5) "d"
 6) "3"
 7) "c"
 8) "4"
 9) "e"
10) "4"
11) "f"
12) "5"
redis 127.0.0.1:6379>

交集并存入到四三个集合中

redis 127.0.0.1:6379> ZRANGE zset2 0 -1
1) "d"
2) "e"
3) "f"
redis 127.0.0.1:6379> ZRANGE zset3 0 -1
1) "a"
2) "b"
3) "d"
4) "c"
5) "e"
6) "f"
redis 127.0.0.1:6379> ZINTERSTORE zset4 2 zset2 zset3
(integer) 3
redis 127.0.0.1:6379> ZRANGE zset4 0 -1
1) "d"
2) "e"
3) "f"
redis 127.0.0.1:6379>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值