网站首页 > 基础教程 正文
Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出 现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个权重与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然 而需要额外指出的是,尽管Sorted-Sets中的成员必须是唯一的,但是权重却是可以重复的。
在Sorted-Set中添加、删除或更新一个成员都是非常快速的操作,其时间复杂度为 集合中成员数量的对数。由于Sorted-Sets中的成员在集合中的位置是有序的,因此, 即便是访问位于集合中部的成员也仍然是非常高效的。
常见的操作
zadd key score member score2 member2 … :将所有成员以及该成员的权重存放到sorted-set中,并且按照权重参数从小到大进行排序进行存放
zrange key start end [withscores]:获取集合中脚标为start-end的成员,[withscores]参数表明返回的成员包含其分数
zcard key:获取集合中的成员数量
zscore key member:返回指定成员的分数
zrem key member[member…]:移除集合中指定的成员,可以指定多个成员
zrevrange key start end [withscores]:获取集合中脚标为start-end的成员,不过是从分数从大到小开始返回,[withscores]参数表明返回的成员包含其分数。
zremrangebyrank key start stop:按照排名范围删除元素,从小到大开始删(按权重分数)
zremrangebyrank mysort 0 2表示按照分数从小到大删除下标0到2(包含2)
zremrangebyscore key min max:按照分数范围
本例中zremrangebyscore mysort 25 87表示删除mysort中权重在25到87之间的,包含25和87
zrangebybyscore mysort min max[withscores][limit offset count]:返回分数在[min ,max]的成员并按照分数从低到高排序。[withscores]:现实分数。[limit offset count]:offset表示从角标为offset的元素开始并返回count格成员(和web分页查询原理一样)
0 3表示每页显示3个,从下标0开始
3 3表示每页显示3个,从下标3开始
zincrby key increment member:设置指定成员的增加的分数,返回值为更改之后的分数
zcount key min max:返回分数在[min,max]之间的成员
zrank key member:返回成员在集合中的位置,从小到大
zrevrank key member:返回成员在集合中的位置,从大到小
因为存储的时候,我们可以指定权重,所以我们常用其进行排名的存储
zscore key member:返回指定成员的分数
zcard key:获取集合中成员的数量
- 上一篇: 一篇搞定Redis常用命令
- 下一篇: Redis概述
猜你喜欢
- 2025-01-04 收藏|空调、制冷仪器、仪表词汇中英文对照表
- 2025-01-04 纽扣电池型号CR2025和CR2032有什么区别-道合顺大数据Infinigo
- 2025-01-04 【Golang】go-redis使用(转载)
- 2025-01-04 redis zset命令详解
- 2025-01-04 Redis 中ZSET数据类型命令使用及对应场景总结
- 2025-01-04 Redis 常用数据类型之 zset(有序集合)
- 2025-01-04 一文搞懂Redis
- 2025-01-04 Redis数据持久化机制、主从同步原理、常见规范与优化详解
- 2025-01-04 Redis概述
- 2025-01-04 一篇搞定Redis常用命令
- 01-08将 Excel 表格中每三行合并到一个单元格中,用“、”隔开
- 01-08使用办公软件按表格中从上往下合并成1个TXT文档并添加分隔符号
- 01-08新歌尝鲜 3《分割线》
- 01-08怎么分割视频?这几种分割方法非常简单
- 01-08视频怎么分割?教你简单的三种方法
- 01-08分隔:整理大脑的 5 种方法
- 01-08「深度」凯文-杜兰特的九年雷霆光阴
- 01-08深度丨涅磐重生到“超级3D”球星?他还是无所不能的保罗·乔治
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)