天梯榜单优化思路

简介: 个人总结

由于考虑到实时数据库每次都全表查询再加上聚合字段所以改为冗余字段 也就是打破三范式

但是又考虑到我们的实时更新计算排名太麻烦

交给redis的zset有序集合进行实时的自动排序 只需要每次更新积分的时候对redis中的数据进行一个同步的增量更新就可以了

然后考虑到一直存在redis因为数据太多也不是个事

所以再定时更新到mysql中

redis可以绑定key

// 1-redis绑定key,避免每次查询都需要给key(优化实现方案之一,用原来每次给key的也可以)
BoundZSetOperations ops = stringRedisTemplate.boundZSetOps(key);

  • 分页参数的计算:起始脚标是0,因此end需要-1

  • 排名rank的计算,容易分页的信息漏掉:from + 1

// 起始脚标是0,因此end需要-1:如查询第一页:from=0,pageSize=10,而0-10查出来11个数据,因此-1

相关文章
|
消息中间件 存储 Cloud Native
揭秘发布订阅模式:让消息传递更高效
揭秘发布订阅模式:让消息传递更高效
揭秘发布订阅模式:让消息传递更高效
|
存储 JavaScript 前端开发
账号登录验证(原生js,本地存储)
账号登录验证(原生js,本地存储)
107 0
|
NoSQL 编译器 C语言
VSCode配置配置C++环境
VSCode配置配置C++环境
437 1
|
11月前
|
缓存 算法 Oracle
深度干货 如何兼顾性能与可靠性?一文解析YashanDB主备高可用技术
数据库高可用(High Availability,HA)是指在系统遇到故障或异常情况时,能够自动快速地恢复并保持服务可用性的能力。如果数据库只有一个实例,该实例所在的服务器一旦发生故障,那就很难在短时间内恢复服务。长时间的服务中断会造成很大的损失,因此数据库高可用一般通过多实例副本冗余实现,如果一个实例发生故障,则可以将业务转移到另一个实例,快速恢复服务。
深度干货  如何兼顾性能与可靠性?一文解析YashanDB主备高可用技术
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
327 1
抓取和分析JSON数据:使用Python构建数据处理管道
|
存储 监控 数据处理
Flink⼤状态作业调优实践指南:Datastream 作业篇
本文整理自俞航翔、陈婧敏、黄鹏程老师所撰写的大状态作业调优实践指南。
57144 5
Flink⼤状态作业调优实践指南:Datastream 作业篇
|
人工智能 自然语言处理 算法
LLaMA 3:大模型之战的新序幕
【6月更文挑战第8天】LLaMA 3,一款代表自然语言处理前沿技术的大模型,以其强大的语言理解和生成能力引领新一轮人工智能竞争。相比以往模型,LLaMA 3在规模和性能上有显著提升,通过大量训练和算法优化突破语言处理边界。示例代码展示了如何使用LLaMA 3进行文本生成。尽管大模型发展带来数据隐私、伦理和资源消耗等挑战,但它也为开发者创造了新机遇,推动AI应用多元化。LLaMA 3开启了大模型新篇章,预示着人工智能更广阔未来。
259 3
|
存储 人工智能 算法
探索量子计算的奥秘:从比特到量子比特
【5月更文挑战第25天】本文探索了量子计算的奥秘,从传统比特到量子比特的转变,揭示了量子比特的叠加态和纠缠特性如何赋予量子计算机超越传统计算机的并行处理能力和速度。尽管面临制备、控制和扩展性的挑战,但量子计算在因子分解、模拟量子系统等领域展现出巨大潜力,预示着其在医药、材料、密码学和AI等领域的广阔应用前景。随着技术进步,量子计算有望成为科技进步的关键驱动力。
|
存储 KVM 虚拟化
倚天产品介绍|倚天虚拟化:虚拟机热迁移特性介绍
热迁移分为热迁移和冷迁移,冷迁移过程中有一段明显的时间VM的服务不可用,而热迁移的服务的服务暂停时间非常短。热迁移过程中无需关闭或者长时间暂停VM,VM保持正常运行,只有在热迁移临近结束时有一个非常短暂的停机切换时间。热迁移可保证了VM服务的可用性,提升业务的连续性和用户体验。