Redis常用命令之Sorted Set类型

本文详细介绍了Redis中的有序集合SortedSet,它是一个存储唯一成员并关联double类型分数的集合。通过分数对成员进行排序,支持添加、删除、查找等操作,复杂度为O(1)。常见命令包括ZADD用于添加元素并设置分数,ZRANGE返回指定索引范围的成员,ZCARD获取元素数量,ZCOUNT统计分数区间成员,ZINCRBY调整分数,ZRANK获取成员索引,ZREM移除成员,以及ZREVRANGE返回分数降序的成员等。

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

        Sorted Set是Redis的有序集合,有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。相同的元素,score会更新为最新的值。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。常见命令如下:

127.0.0.1:6597> zadd points 0 zhangsan # 向有序集合中添加元素,并指定score值,score可以理解为下标
(integer) 1
127.0.0.1:6597> zadd points 1 lisi
(integer) 1
127.0.0.1:6597> zadd points 2 wangwu
(integer) 1
127.0.0.1:6597> zadd points 2 wangwu
(integer) 0
127.0.0.1:6597> zadd points 3 wangwu
(integer) 0
127.0.0.1:6597> zrange points 0 10 # 通过索引区间返回有序集合成指定区间内的成员
1) "zhangsan"
2) "lisi"
3) "wangwu"
127.0.0.1:6597> zrange points 0 10 withscores # 通过索引区间返回有序集合成指定区间内的成员并返回成员的下标
1) "zhangsan"
2) "0"
3) "lisi"
4) "1"
5) "wangwu"
6) "3"
127.0.0.1:6597> zcard points # 获取有序集合的元素数量
(integer) 3
127.0.0.1:6597> zcount points 0 10 # 获取有序集合中指定区间的元素数量
(integer) 3
127.0.0.1:6597> zincrby point 6 hello # 有序集合中对指定成员的socore加上增量
"6"
127.0.0.1:6597> zrank points zhangsan # 通过集合元素返回其索引
(integer) 0
127.0.0.1:6597> zrem points zhangsan # 移除有序集合中的一个或多个成员,元素不返回
(integer) 1
127.0.0.1:6597> zrevrange points 0 10 withscores # 返回有序集中指定区间内的成员,通过索引,分数从高到底
1) "300.0"
2) "5"
3) "300"
4) "4"
5) "wangwu"
6) "3"
7) "lisi"
8) "1"
127.0.0.1:6597>

以上是Redis的有序集合sorted Set的常见命令总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值