Redis学习笔记(七)Redis数据存储类型之sorted_set

简介: Redis学习笔记(七)Redis数据存储类型之sorted_set

sorted_set


基本操作


(1)添加数据 zadd key score1 member1 score2 member2…


(2)获取全部数据 zrange key start stop withscores


zrevrange key start stop withscores


(3)删除数据


zrem key member1 member2…


(4) 按条件获取数据 zrangebyscore key min max withscores limit


zrevrangebyscore key max min withscores limit


(5)按条件删除数据 zremrangebyscore key min max


zremrangebyrank key start stop


(6)获取集合数据总量 zcard key


zcard key min max


(7) 集合的交,并操作 zinterstore destination numkeys key1 key2…


zunionstore destination numkeys key1 key2…


(8)求两个集合的交,并,差集并存储到指定集合中


sinterstore destionation key1 key2


sunionstore destionation key1 key2


(9)获取数据对应的索引 zrank key member


zrevrank key member


(2)score值获取以及修改 zscore key member


zincrby key increment member


(3)删除数据


zrem key member1 member2…


(4) 按条件获取数据 zrangebyscore key min max withscores limit


zrevrangebyscore key max min withscores limit


(5)按条件删除数据 zremrangebyscore key min max


zremrangebyrank key start stop


应用场景实例:


1.网站上的排名


不仅要对资源进行排序,同时还需要获取到排序后的资源的索引,以便形成排行


大致结构如下:


zadd movies 143 aa 99 bb 100 cc


zrank movies bb


2.带有权重的任务/消息队列


通过score来记录任务的权重


大体结构如下:


zadd task 3 order:id001


zadd task 1 order:id014


zadd task 9 order:id025


zrevrange task 0 -1 withscores


zrevrange task 0 0 withscores


zrem task order:id025


相关文章
|
3月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
282 1
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
566 5
|
4月前
|
存储 消息中间件 缓存
Redis 简介:打造快速数据存储的利器
Redis 是一款开源的内存数据结构服务器,支持字符串、哈希、列表等多种数据结构,具备高性能、持久化、高可用及分布式特性,适用于缓存、会话管理、实时统计等场景。
|
8月前
|
存储 缓存 NoSQL
Redis中的常用命令-get&set&keys&exists&expire&ttl&type的详细解析
总的来说,这些Redis命令提供了处理存储在内存中的键值对的便捷方式。通过理解和运用它们,你可以更有效地在Redis中操作数据,使其更好地服务于你的应用。
509 17
|
存储 Java 开发者
Java 中 Set 类型的使用方法
【10月更文挑战第30天】Java中的`Set`类型提供了丰富的操作方法来处理不重复的元素集合,开发者可以根据具体的需求选择合适的`Set`实现类,并灵活运用各种方法来实现对集合的操作和处理。
744 113
|
JavaScript 前端开发 Java
除了 JavaScript,还有哪些编程语言支持 Set 类型
【10月更文挑战第30天】这些编程语言中的 `Set` 类型虽然在语法和具体实现细节上有所不同,但都提供了类似的集合操作功能,方便开发者在不同的编程场景中处理集合相关的数据和逻辑。
414 113
|
开发者
除了交集运算,Set 类型还可以用于哪些数据结构的操作?
【10月更文挑战第30天】`Set`类型在数据结构操作方面提供了丰富的功能和便利,能够帮助开发者更高效地处理各种数据集合相关的任务,提高代码的简洁性和性能。
|
JavaScript 前端开发 开发者
set类型可以实现数组去重等
【10月更文挑战第30天】 `Set`类型在JavaScript中提供了一种方便、高效的集合数据结构,在数组去重、集合运算、数据存在性检查等方面都有广泛的应用,能够帮助开发者更简洁、高效地处理数据。
|
存储 NoSQL PHP
如何用Redis高效实现点赞功能?用Set?还是Bitmap?
在众多软件应用中,点赞功能几乎成为标配。本文从实际需求出发,探讨如何利用 Redis 的 `Set` 和 `Bitmap` 数据结构设计高效点赞系统,分析其优缺点,并提供 PHP 实现示例。通过对比两种方案,帮助开发者选择最适合的存储方式。
407 3
|
存储 消息中间件 NoSQL
Redis数据结构:List类型全面解析
Redis数据结构——List类型全面解析:存储多个有序的字符串,列表中每个字符串成为元素 Eelement,最多可以存储 2^32-1 个元素。可对列表两端插入(push)和弹出(pop)、获取指定范围的元素列表等,常见命令。 底层数据结构:3.2版本之前,底层采用**压缩链表ZipList**和**双向链表LinkedList**;3.2版本之后,底层数据结构为**快速链表QuickList** 列表是一种比较灵活的数据结构,可以充当栈、队列、阻塞队列,在实际开发中有很多应用场景。