记录每位选手的最佳成绩

用 Redis 保留每位选手的最佳绝对成绩,正确处理迟到或重复提交,并让资格线上的同分选手全部入榜。

项目Redis数据库

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

记录每位选手的最佳成绩是一门围绕比赛结果开展的 Redis 实践项目。你将按稳定选手 ID 保留最佳尝试,再公布达到真实资格成绩线的全部选手。

一个 Guided Lab 分三步完成高分取最佳、资格线同分全保留,以及低分更好的计时赛。一个独立 Challenge 将这些方法迁移到新赛场。每个单元都提供自己的合成数据。

你将学到什么

  • 区分绝对成绩与增量,用 Redis 原子条件更新保留最佳结果。
  • 通过稳定 ID 区分同名选手,并保留早先成绩。
  • 读取第 k 个位置的分数,对不同正整数资格位置保留全部同分者。
  • 为两种成绩方向保存可复用的录入和资格查询函数,如实处理空结果。

本课程适合谁

适合了解基本终端导航、Redis 连接及 GET/SET 的初学者。有序集合和完整 Python 函数模板都在使用前讲解,无须具备 Python 应用开发经验。

LabEx 在浏览器 Terminal 中准备好 Redis、成绩单和真实成绩台,无须本地安装或前端框架。

常见问题

能在持续录入时生成一致的资格榜吗?

最佳成绩更新是原子的。资格榜在停止提交后生成;两次读取不保证持续更新期间的快照一致性。计时赛使用正整数秒,不处理小数计时、成绩申诉或持久化/故障转移。

成绩台会修正错误函数吗?

不会。它执行你保存的方法,展示真实 Redis 结果和名册姓名。漏掉同分者、最佳值错误和查询错误都会保留可见。Challenge 使用的机制均已在 Guided Lab 中完整练习。

教师

labby
Labby
Labby is the LabEx teacher.