Основные данныеИгры

Таблицы лидеров в реальном времени

Живые рейтинги для игр, спорта и социальных приложений, где обновление очков и чтение выполняются параллельно.

отсортировано при записи
Всегда
команда для топ-10
1
команда для места игрока
1
Шаг 1 из 5
Записываем очки

Матч заканчивается, и результат записывается.

Пример сеансаplaying
# Записываем очки
hotkv> ZADD board:2026-w42 1500 alice
(integer) 1

Анимированная демонстрация с настоящими командами HotKV и примерами ответов. Нажмите на любой шаг, чтобы перейти к нему. Команды и ответы остаются на английском, ровно так, как вы вводите и видите их в HotKV.

Проблема

Таблица лидеров постоянно пишется и постоянно читается. Каждое изменение очков может переупорядочить таблицу, и каждый игрок ожидает сразу увидеть своё место. Пересчёт рейтингов в реляционной базе данных не выдерживает роста трафика.

Как с этим справляется HotKV

Отсортированные множества держат участников упорядоченными по очкам по мере записи, поэтому верх таблицы и место любого игрока всегда готовы к чтению. HotKV выполняет команды на многих рабочих потоках, поэтому обновления очков и чтение не проходят через один поток.

Шаг за шагом

Что происходит, команда за командой

  1. 01

    Записываем очки

    Матч заканчивается, и результат записывается.

    ZADD board:2026-w42 1500 alice
  2. 02

    Прибавляем к очкам

    Боб выигрывает раунд. Его счёт растёт, а порядок обновляется сразу.

    ZINCRBY board:2026-w42 250 bob
  3. 03

    Показываем топ-10

    Каждый клиент и оверлей трансляции читают лидеров, пока записи продолжаются.

    ZREVRANGE board:2026-w42 0 9 WITHSCORES
  4. 04

    Какое у меня место?

    Каждый игрок видит собственную позицию.

    ZREVRANK board:2026-w42 alice
  5. 05

    Еженедельный сброс без задания

    У каждой недели свой ключ, который истекает через две недели.

    EXPIRE board:2026-w42 1209600
Где это уместно

Реальные сценарии

Мобильные и консольные игры

Глобальные, региональные и только для друзей таблицы - отдельные отсортированные множества, обновляемые после каждого матча.

Фитнес и обучающие приложения

Недельные рейтинги серий и очков сбрасываются сами при переходе на новый ключ каждую неделю.

Живые события и киберспорт

Оверлеи трансляций читают турнирную таблицу каждую секунду, пока поступают результаты.

Встроено

Что вы получаете

Всегда упорядоченные рейтинги

Не нужно запускать задание ранжирования. Порядок поддерживается по мере поступления очков.

ZADDZINCRBY

Топ-списки и место игрока

По одной команде на каждое.

ZREVRANGEZREVRANK

Много рабочих потоков

Обновления очков и чтение распределяются между рабочими потоками, а не идут через один.

Периодические таблицы

Один ключ на период со сроком жизни.

EXPIRE
Справочник:ZADDZINCRBYZREVRANGEZREVRANK

Частые вопросы

Как построить ежедневную или еженедельную таблицу лидеров?

Используйте одно отсортированное множество на период, например board:2026-w42, и задайте для него срок жизни.

Можно ли объединять таблицы?

Да. ZUNIONSTORE складывает несколько таблиц в одну, например месячную из четырёх недельных.

Замедлят ли интенсивные записи чтение?

HotKV выполняет команды на нескольких рабочих потоках, поэтому обновления очков и чтение не вынуждены идти через один поток.

Связанные сценарии

Попробуйте на своей нагрузке

HotKV понимает протокол Redis, поэтому вы можете подключить к нему существующий клиент и выполнить те же команды.