कोर डेटागेमिंग

Real-Time Leaderboards

गेम, खेल और सोशल apps के लिए लाइव रैंकिंग, जिसमें score updates और reads parallel चलते हैं।

write पर ही sorted
हमेशा
कमांड top 10 के लिए
1
कमांड खिलाड़ी की रैंक के लिए
1
कदम 1 में से 5
Score दर्ज करें

मैच खत्म होता है और नतीजा लिख दिया जाता है।

उदाहरण सेशनplaying
# Score दर्ज करें
hotkv> ZADD board:2026-w42 1500 alice
(integer) 1

असली HotKV कमांड और उदाहरण रिस्पॉन्स के साथ एक एनिमेटेड वॉकथ्रू। किसी भी कदम पर क्लिक करके वहां पहुंचें। कमांड और रिस्पॉन्स अंग्रेज़ी में ही रहते हैं, ठीक वैसे जैसे आप HotKV में टाइप करते और देखते हैं।

समस्या

Leaderboard में लगातार लिखा भी जाता है और लगातार पढ़ा भी जाता है। हर score बदलाव तालिका का क्रम बदल सकता है, और हर खिलाड़ी चाहता है कि उसकी रैंक तुरंत दिखे। ट्रैफ़िक बढ़ने पर relational database में रैंकिंग दोबारा निकालना टिक नहीं पाता।

HotKV इसे कैसे संभालता है

Sorted sets members को लिखे जाते समय ही score के क्रम में रखते हैं, इसलिए तालिका का शीर्ष और किसी भी खिलाड़ी की रैंक हमेशा पढ़ने के लिए तैयार रहती है। HotKV कमांड कई worker threads पर चलाता है, इसलिए score updates और reads एक ही thread से नहीं गुज़रते।

कदम दर कदम

क्या होता है, कमांड दर कमांड

  1. 01

    Score दर्ज करें

    मैच खत्म होता है और नतीजा लिख दिया जाता है।

    ZADD board:2026-w42 1500 alice
  2. 02

    Score में जोड़ें

    Bob एक राउंड जीतता है। उसका score बढ़ता है और क्रम तुरंत अपडेट हो जाता है।

    ZINCRBY board:2026-w42 250 bob
  3. 03

    Top 10 दिखाएँ

    हर क्लाइंट और stream overlay writes जारी रहते हुए भी अग्रणी खिलाड़ियों को पढ़ते हैं।

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

    मैं कहाँ हूँ?

    हर खिलाड़ी को अपनी स्थिति दिखती है।

    ZREVRANK board:2026-w42 alice
  5. 05

    बिना job के साप्ताहिक reset

    हर हफ़्ते की अपनी key होती है, जो दो हफ़्ते बाद expire हो जाती है।

    EXPIRE board:2026-w42 1209600
कहां फ़िट बैठता है

असली परिदृश्य

मोबाइल और console गेम

Global, क्षेत्रीय और सिर्फ़ दोस्तों वाले boards अलग-अलग sorted sets होते हैं, जो हर मैच के बाद अपडेट होते हैं।

Fitness और learning apps

साप्ताहिक streak और points की रैंकिंग हर हफ़्ते नई key पर जाकर अपने आप reset हो जाती है।

Live events और esports

Broadcast overlays नतीजे आते रहने के दौरान हर सेकंड standings पढ़ते हैं।

अंतर्निहित

आपको क्या मिलता है

हमेशा क्रम में रैंकिंग

चलाने के लिए कोई ranking job नहीं। Scores आते ही क्रम बना रहता है।

ZADDZINCRBY

Top सूचियाँ और खिलाड़ी की रैंक

दोनों के लिए एक-एक कमांड।

ZREVRANGEZREVRANK

कई worker threads

Score updates और reads एक thread की जगह कई worker threads में बँटते हैं।

समय-अवधि वाले boards

हर अवधि के लिए एक key, expiry के साथ।

EXPIRE
संदर्भ:ZADDZINCRBYZREVRANGEZREVRANK

आम सवाल

दैनिक या साप्ताहिक leaderboard कैसे बनाऊँ?

हर अवधि के लिए एक sorted set इस्तेमाल करें, जैसे board:2026-w42, और उस पर expiry सेट करें।

क्या मैं boards को मिला सकता हूँ?

हाँ। ZUNIONSTORE कई boards को एक में जोड़ देता है, जैसे चार साप्ताहिक boards से एक मासिक board।

क्या भारी writes reads को धीमा कर देंगे?

HotKV कमांड कई worker threads पर चलाता है, इसलिए score updates और reads को एक ही thread से गुज़रने के लिए मजबूर नहीं किया जाता।

संबंधित उपयोग के मामले

इसे अपने वर्कलोड पर आज़माएं

HotKV Redis प्रोटोकॉल बोलता है, इसलिए आप किसी मौजूदा क्लाइंट को इसकी ओर इंगित करके यही कमांड चला सकते हैं।