נתוני ליבהמסחר אלקטרוני

מבצעי בזק ומלאי

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

הפחתת מלאי
אטומי
יחידות שנמכרו ביתר
0
החזקות שמשתחררות מעצמן
10 min
צעד 1 מתוך 6
טוענים את המלאי

500 יחידות יוצאות למכירה.

סשן לדוגמהplaying
# טוענים את המלאי
hotkv> SET stock:sneaker-x 500
OK

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

הבעיה

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

איך HotKV מטפל בזה

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

צעד אחר צעד

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

  1. 01

    טוענים את המלאי

    500 יחידות יוצאות למכירה.

    SET stock:sneaker-x 500
  2. 02

    שומרים על הבוטים בשליטה

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

    GCRA.LIMIT buy:customer:881 10000 2
  3. 03

    לוקחים יחידה אחת

    DECR הוא אטומי. 10,000 לחיצות מקבילות לעולם לא יכולות לקחת יותר מ-500 יחידות.

    DECR stock:sneaker-x
  4. 04

    מחזיקים אותה עשר דקות

    ההזמנה השמורה פגה מעצמה אם הקופה ננטשת, ומנקה מחזיר את היחידה.

    SET hold:sneaker-x:order-7781 customer:42 NX EX 600
  5. 05

    אזל המלאי מטופל

    כש-DECR יורד מתחת לאפס, היחידה מוחזרת והקונה רואה שהמלאי אזל. המלאי לעולם לא נשאר שלילי לאורך זמן.

    INCR stock:sneaker-x
  6. 06

    מעבירים הזמנות למימוש

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

    XADD orders * order 7781 sku sneaker-x customer 42
איפה זה מתאים

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

השקות נעליים וסחורה

מהדורות מוגבלות נמכרות תוך שניות בלי למכור ביתר אפילו זוג אחד.

כרטוס

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

משלוחי אוכל ומכולת

חלונות משלוח הם מונים שמופחתים באופן אטומי כשלקוחות מזמינים אותם.

מובנה

מה מקבלים

מונים אטומיים

DECR ו-INCR משנים מלאי בצעד אחד ללא race.

DECRINCRBY

החזקות שפגות

הזמנות שמורות הן מפתחות עם TTL.

SETNXEX

הגנה מפני בוטים

מגבלות לכל לקוח עם זמן ניסיון חוזר מדויק.

GCRA.LIMIT

העברת הזמנות

זרם למימוש, עם קבוצות צרכנים ואישורי קבלה.

XADDXREADGROUP

שאלות נפוצות

איך החזקות שפגו מחזירות מלאי?

אפשר לשים לב להחזקות שפגו דרך התראות מרחב מפתחות או סריקה תקופתית, שמגדילה שוב את מונה המלאי.

האם אפשר לבדוק מלאי בלי לקחת אותו?

כן. GET מחזיר את הספירה הנוכחית. רק DECR שומר.

ומה עם עגלות מרובות פריטים?

משתמשים ב-MULTI וב-EXEC, או בפונקציה, כדי להפחית כמה מונים יחד.

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

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

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