数据类型-sorted_set 实现排行榜 | 学习笔记

简介: 快速学习数据类型-sorted_set 实现排行榜

开发者学堂课程【Redis 入门到精通(基础篇)数据类型-sorted_set 实现排行榜】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/764/detail/13392


数据类型-sorted_set 实现排行榜

 

内容介绍

一、sorted_set 类型数据的扩展操作

二、Tips13

 

一、sorted_set 类型数据的扩展操作

业务场景

票选广东十大杰出青年,各类综艺选秀海选投票

各类资源网站TOP10 (电影,歌曲,文档,电商,游戏等)

聊天室活跃度统计
游戏好友亲密度

业务分析

为所有参与排名的资源建立排序依据

经常看到直播开启,房间人多,比较火,经过排序做出一个排行榜,涉及到了排序,很多东西都要排序,对于榜单类,除了数量以外还有排序,数量前面的计数器可以解决,排序搞不定,sorted_set 刚好

有排序功能,就交给他去做了,为所有参与排名的进行排序,需要的是第几名,需要通过排序获取索引,这是一系列的操作。

解决方案
获取数据对应的索引(排名)
zrank key member
zrevzank key member
score值获取与修改
zscore key member
zincrby key increment member

提供的业务支持,这个就是获取索引的业务操作,zadd movies 143 aa 97 bb 201 cc,有了数据,进行排序,zrank movies bb,得到0,要考虑正反方向,要考虑到实际的位次,要加一,这个是查索引,一个排名,另外一查的是值,zscore movies aa,得到票数143,

这个就是拿出 score 值,如果说票数增加,使用 zincrby movies 1 aa,就是说给aa投了一票,最后再次得出票数为144,结合操作与基本操作就可以做一个榜单数据,这里提供了整体的榜单排名数据,还有合并操作等等,求一个 sum 就得到了最终的数量。

 

二、Tips13

Redis 应用于计数器组合排序功能对应的排名

相关文章
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
存储 NoSQL 算法
Redis6入门到实战------ 三、常用五大数据类型(列表(List)、集合(Set)、哈希(Hash)、Zset(sorted set))
这是关于Redis 6入门到实战的文章,具体内容涉及Redis的五大数据类型:列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset(sorted set))。文章详细介绍了这些数据类型的特点、常用命令以及它们背后的数据结构。如果您有任何关于Redis的具体问题或需要进一步的帮助,请随时告诉我。
|
NoSQL Redis
Redis set数据类型命令使用及应用场景使用总结
Redis set数据类型命令使用及应用场景使用总结
187 1
|
存储 NoSQL Redis
无序集合的利器:深入了解 Redis 的 Set 数据类型
在现代的应用程序中,对于处理独特值、快速判断成员关系等需求,无序集合是一种重要的数据结构。Redis,作为一款高性能的内存数据库,提供了多种数据类型来满足不同的需求。在本文中,我们将着重介绍 Redis 的 Set 数据类型,探讨其特性、用法以及在实际应用中的优势。
391 0
|
消息中间件 JSON NoSQL
Redis深度解析:核心数据类型之hash、list、set
Redis深度解析:核心数据类型之hash、list、set
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型list&set()
本文介绍了Python中list和set两种数据类型的使用,包括它们的创建、取值、增删改查操作、排序以及内置函数的使用,还探讨了list的比较函数和set的快速去重功能。
292 0
|
存储 Java Redis
redis-学习笔记(Jedis set 简单命令)
redis-学习笔记(Jedis set 简单命令)
166 1
|
NoSQL Java Redis
redis-学习笔记(string , hash , list , set , zset 前置知识)
redis-学习笔记(string , hash , list , set , zset 前置知识)
174 0
redis-学习笔记(string , hash , list , set , zset 前置知识)
|
存储 C++ 容器
【C++】学习笔记——map和set
【C++】学习笔记——map和set
143 0
|
搜索推荐
redis-学习笔记(set)
redis-学习笔记(set)
132 0