Dữ liệu lõiGame

Bảng xếp hạng thời gian thực

Xếp hạng trực tiếp cho game, thể thao và ứng dụng xã hội, với cập nhật điểm và đọc chạy song song.

được sắp xếp khi ghi
Luôn luôn
lệnh cho top 10
1
lệnh cho thứ hạng của người chơi
1
Bước 1 trên 5
Ghi một điểm

Một trận đấu kết thúc và kết quả được ghi.

Phiên ví dụplaying
# Ghi một điểm
hotkv> ZADD board:2026-w42 1500 alice
(integer) 1

Một hướng dẫn minh họa động với các lệnh HotKV thật và phản hồi ví dụ. Nhấn vào bất kỳ bước nào để nhảy tới đó. Lệnh và phản hồi giữ nguyên bằng tiếng Anh, đúng như bạn gõ và thấy trong HotKV.

Vấn đề

Một bảng xếp hạng được ghi liên tục và đọc liên tục. Mỗi thay đổi điểm có thể sắp xếp lại bảng và mọi người chơi đều mong thấy thứ hạng của mình ngay. Tính lại thứ hạng trong cơ sở dữ liệu quan hệ không trụ nổi khi lưu lượng tăng.

HotKV xử lý như thế nào

Sorted set giữ các thành viên được sắp xếp theo điểm ngay khi chúng được ghi, nên đầu bảng và thứ hạng của bất kỳ người chơi nào luôn sẵn sàng để đọc. HotKV thực thi lệnh trên nhiều luồng worker, nên cập nhật điểm và đọc không bị dồn qua một luồng.

Từng bước một

Điều gì xảy ra, từng lệnh một

  1. 01

    Ghi một điểm

    Một trận đấu kết thúc và kết quả được ghi.

    ZADD board:2026-w42 1500 alice
  2. 02

    Cộng thêm vào điểm

    Bob thắng một vòng. Điểm của anh ấy tăng và thứ tự được cập nhật ngay.

    ZINCRBY board:2026-w42 250 bob
  3. 03

    Hiển thị top 10

    Mọi client và lớp phủ livestream đọc những người dẫn đầu trong khi các lần ghi vẫn tiếp tục.

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

    Tôi đang ở đâu?

    Mỗi người chơi thấy vị trí của chính mình.

    ZREVRANK board:2026-w42 alice
  5. 05

    Đặt lại hằng tuần mà không cần tác vụ

    Mỗi tuần có khóa riêng và hết hạn sau hai tuần.

    EXPIRE board:2026-w42 1209600
Phù hợp ở đâu

Các tình huống thực tế

Game di động và console

Bảng toàn cầu, theo khu vực và chỉ bạn bè là các sorted set riêng, được cập nhật sau mỗi trận.

Ứng dụng thể dục và học tập

Xếp hạng chuỗi ngày và điểm hằng tuần tự đặt lại bằng cách chuyển sang một khóa mới mỗi tuần.

Sự kiện trực tiếp và thể thao điện tử

Lớp phủ phát sóng đọc bảng xếp hạng mỗi giây trong khi kết quả liên tục đổ về.

Tích hợp sẵn

Bạn nhận được gì

Xếp hạng luôn có thứ tự

Không có tác vụ xếp hạng nào để chạy. Thứ tự được duy trì khi điểm đến.

ZADDZINCRBY

Danh sách đầu bảng và thứ hạng người chơi

Mỗi thứ một lệnh.

ZREVRANGEZREVRANK

Nhiều luồng worker

Cập nhật điểm và đọc được phân tán qua các luồng worker thay vì một luồng.

Bảng theo chu kỳ

Một khóa cho mỗi chu kỳ với thời hạn hết hạn.

EXPIRE

Câu hỏi thường gặp

Làm sao xây bảng xếp hạng theo ngày hoặc theo tuần?

Dùng một sorted set cho mỗi chu kỳ, như board:2026-w42, và đặt thời hạn hết hạn cho nó.

Tôi có thể kết hợp các bảng không?

Có. ZUNIONSTORE cộng nhiều bảng thành một, ví dụ một bảng tháng từ bốn bảng tuần.

Ghi nhiều có làm chậm đọc không?

HotKV chạy lệnh trên nhiều luồng worker, nên cập nhật điểm và đọc không bị buộc phải đi qua một luồng.

Trường hợp sử dụng liên quan

Thử trên khối lượng công việc của chính bạn

HotKV nói giao thức Redis, nên bạn có thể trỏ một client hiện có tới nó và chạy chính những lệnh này.