נתוני ליבהמשחקים

לוחות מובילים בזמן אמת

דירוגים חיים למשחקים, ספורט ואפליקציות חברתיות, כשעדכוני ניקוד וקריאות רצים במקביל.

ממוין בכתיבה
תמיד
פקודה ל-10 המובילים
1
פקודה לדירוג של שחקן
1
צעד 1 מתוך 5
רושמים ניקוד

משחק מסתיים והתוצאה נכתבת.

סשן לדוגמהplaying
# רושמים ניקוד
hotkv> ZADD board:2026-w42 1500 alice
(integer) 1

הדגמה מונפשת עם פקודות HotKV אמיתיות ותשובות לדוגמה. לחצו על כל שלב כדי לעבור אליו. הפקודות והתשובות נשארות באנגלית, בדיוק כפי שמקלידים ורואים ב-HotKV.

הבעיה

לוח מובילים נכתב כל הזמן ונקרא כל הזמן. כל שינוי ניקוד יכול לסדר מחדש את הטבלה וכל שחקן מצפה לראות את הדירוג שלו מיד. חישוב מחדש של דירוגים במסד נתונים יחסי לא עומד בעומס כשהתעבורה גדלה.

איך HotKV מטפל בזה

Sorted sets שומרים את החברים מסודרים לפי ניקוד תוך כדי כתיבה, כך שראש הטבלה והדירוג של כל שחקן תמיד מוכנים לקריאה. HotKV מבצע פקודות על הרבה תהליכוני עבודה, ולכן עדכוני ניקוד וקריאות לא מועברים דרך תהליכון אחד.

צעד אחר צעד

מה קורה, פקודה אחר פקודה

  1. 01

    רושמים ניקוד

    משחק מסתיים והתוצאה נכתבת.

    ZADD board:2026-w42 1500 alice
  2. 02

    מוסיפים לניקוד

    Bob מנצח בסיבוב. הניקוד שלו גדל והסדר מתעדכן מיד.

    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
איפה זה מתאים

תרחישים מהעולם האמיתי

משחקי מובייל וקונסולה

לוחות גלובליים, אזוריים ושל חברים בלבד הם sorted sets נפרדים, שמתעדכנים אחרי כל משחק.

אפליקציות כושר ולמידה

דירוגי רצף וניקוד שבועיים מתאפסים מעצמם במעבר למפתח חדש בכל שבוע.

אירועים חיים ואיספורט

שכבות על בשידור קוראות את הדירוג בכל שנייה בזמן שתוצאות מגיעות.

מובנה

מה מקבלים

דירוגים מסודרים תמיד

אין משימת דירוג להריץ. הסדר נשמר בזמן שהניקוד מגיע.

ZADDZINCRBY

רשימות צמרת ודירוג שחקן

פקודה אחת לכל אחד.

ZREVRANGEZREVRANK

הרבה תהליכוני עבודה

עדכוני ניקוד וקריאות מתפזרים על פני תהליכוני עבודה במקום על אחד.

לוחות תקופתיים

מפתח אחד לכל תקופה, עם תפוגה.

EXPIRE

שאלות נפוצות

איך בונים לוח מובילים יומי או שבועי?

משתמשים ב-sorted set אחד לכל תקופה, כמו board:2026-w42, וקובעים לו תפוגה.

האם אפשר לשלב לוחות?

כן. ZUNIONSTORE מחבר כמה לוחות לאחד, למשל לוח חודשי מארבעה שבועיים.

האם כתיבות כבדות יאטו את הקריאות?

HotKV מריץ פקודות על כמה תהליכוני עבודה, ולכן עדכוני ניקוד וקריאות לא נאלצים לעבור דרך תהליכון אחד.

שימושים קשורים

נסו על עומס העבודה שלכם

HotKV מדבר את פרוטוקול Redis, ולכן אפשר להפנות אליו לקוח קיים ולהריץ את אותן פקודות.