我的编程空间,编程开发者的网络收藏夹
学习永远不晚

有序集合

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

有序集合

order set 有序集合

zadd key score1 value1 score2 value2 ..

添加元素
redis 127.0.0.1:6379> zadd stu 18 lily 19 hmm 20 lilei 21 lilei
(integer) 3 (由此看,也是唯一性的)
(排序的依据是score...)

zrem key value1 value2 ..

作用: 删除集合中的元素

有序集合

zremrangebyscore key min max

作用: 按照socre来删除元素,删除score在[min,max]之间的
redis 127.0.0.1:6379> zremrangebyscore stu 4 10
(integer) 2
redis 127.0.0.1:6379> zrange stu 0 -1
1) "f"

有序集合

zremrangebyrank key start end

作用: 按排名删除元素,删除名次在[start,end]之间的
redis 127.0.0.1:6379> zremrangebyrank stu 0 1
(integer) 2
redis 127.0.0.1:6379> zrange stu 0 -1
1) "c"
2) "e"
3) "f"
4) "g"

zrank key member

查询member的排名(升续 0名开始)

有序集合

zrevrank key memeber

查询 member的排名(降续 0名开始)

ZRANGE key start stop [WITHSCORES]

把集合排序后,返回名次[start,stop]的元素(从0开始)
默认是升续排列
Withscores 是把score也打印出来
有序集合
有序集合

zrevrange key start stop

作用:把集合降序排列,取名字[start,stop]之间的元素

zrangebyscore key min max [withscores] limit offset N

作用: 集合(升续)排序后,取score在[min,max]内的元素,
并跳过 offset个, 取出N个
redis 127.0.0.1:6379> zadd stu 1 a 3 b 4 c 9 e 12 f 15 g
(integer) 6
redis 127.0.0.1:6379> zrangebyscore stu 3 12 limit 1 2 withscores
1) "c"
2) "4"
3) "e"
4) "9"

有序集合

有序集合

zcard key

返回元素个数

有序集合

zcount key min max

返回[min,max] 区间内元素的数量

zinterstore destination numkeys key1 [key2 ...]
[WEIGHTS weight [weight ...]]
[AGGREGATE SUM|MIN|MAX]

求key1,key2的交集,key1,key2的权重分别是 weight1,weight2
聚合方法用: sum |min|max
聚合的结果,保存在dest集合内

注意: weights ,aggregate如何理解?
答: 如果有交集, 交集元素又有socre,score怎么处理?
Aggregate sum->score相加 , min 求最小score, max 最大score

另: 可以通过weigth设置不同key的权重, 交集时,socre * weights

详见下例
redis 127.0.0.1:6379> zadd z1 2 a 3 b 4 c
(integer) 3
redis 127.0.0.1:6379> zadd z2 2.5 a 1 b 8 d
(integer) 3
redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2
(integer) 2
redis 127.0.0.1:6379> zrange tmp 0 -1
1) "b"
2) "a"
redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
1) "b"
2) "4"
3) "a"
4) "4.5"
redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 aggregate sum
(integer) 2
redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
1) "b"
2) "4"
3) "a"
4) "4.5"
redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 aggregate min
(integer) 2
redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
1) "b"
2) "1"
3) "a"
4) "2"
redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 weights 1 2
(integer) 2
redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
1) "b"
2) "5"
3) "a"
4) "7"

有序集合

有序集合

(以卖的最少的那个人的数据为准)

有序集合

(以卖的最多的那个人的数据为准)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

有序集合

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2024-04-02

redis有序集合和无序集合有什么区别

Redis中的有序集合(Sorted Set)和无序集合(Set)主要区别在于有序集合中的元素是有顺序的,而无序集合中的元素是无顺序的。具体来说:有序集合中的每个元素都会关联一个分数(score),根据这个分数来对元素进行排序。在有序集合
redis有序集合和无序集合有什么区别
2024-04-09

redis有序集合怎么实现

redis有序集合(zset)通过哈希表和跳跃表实现,哈希表存储元素和分数映射,而跳跃表按分数排序元素并维护快速导航的指针,支持多种操作,包括添加、删除、更新分数、查找元素和获取排名,优点包括快速排序和查找操作、支持多分数排序和高效内存管理
redis有序集合怎么实现
2024-05-21

Yii redis zset有序集合的使用

和散列存储着键与值之间的映射关系类似,有序集合也存储着成员与分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序地获取(fetch)和扫描(scan)成员和分值的命令。这里介绍一些常用命令,以及在 Yii 中的使用。ZADDZADD:ZADD key-
Yii redis zset有序集合的使用
2015-07-18

Redis有序集合是怎么实现排序的

Redis有序集合是通过使用有序集合中的分数(score)来实现排序的。在有序集合中,每个成员都会关联一个分数,可以通过这个分数来对成员进行排序。当向有序集合中插入新成员时,可以指定成员的分数,Redis会根据指定的分数对成员进行排序,使得
Redis有序集合是怎么实现排序的
2024-05-07

Python学习之路1 有序集合和无需集

1.集合是指包含一组元素的数据结构,包括:1. 有序集合:list,tuple,str和unicode;2. 无序集合:set3. 无序集合并且具有 key-value 对:dict  
2023-01-31

C#集合之有序列表怎么用

本文小编为大家详细介绍“C#集合之有序列表怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#集合之有序列表怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。如果需要基于键对所需集合排序,就可以使用Sor
2023-06-30

怎么取出redis有序集合所有数据

可以使用ZRANGE命令来获取有序集合中所有的元素数据。语法如下:ZRANGE key start stop [WITHSCORES]其中,key是有序集合的键名,start和stop是取出元素的起始和结束索引,如果想取出所有元素,则可以
怎么取出redis有序集合所有数据
2024-04-09

Redis中有序集合的内部如何实现

这篇“Redis中有序集合的内部如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Redis中有序集合的内部如何实现”文
2023-06-29

编程热搜

目录