Drop di sneaker e merchandise
Le edizioni limitate si esauriscono in pochi secondi senza vendere in eccesso un solo paio.
Vendi esattamente lo stock che hai quando diecimila acquirenti cliccano Acquista nello stesso secondo, e tieni fuori i bot.
500 unità vanno in vendita.
Una dimostrazione animata con comandi HotKV reali e risposte di esempio. Clicca su un passo qualsiasi per andarci. Comandi e risposte restano in inglese, esattamente come li digiti e li vedi in HotKV.
In una flash sale il database dell'inventario è il collo di bottiglia proprio quando conta di più. I controlli leggi-poi-scrivi vendono più del disponibile in concorrenza, i carrelli abbandonati bloccano lo stock per sempre e i bot comprano lo stock prima che i clienti veri abbiano finito di caricare la pagina.
Lo stock vive in un contatore che viene decrementato in modo atomico, quindi acquirenti concorrenti non possono mai prendere più di quanto esiste. Ogni prenotazione è una chiave con una scadenza di dieci minuti, un rate limit per cliente rallenta i bot e gli ordini confermati entrano in uno stream che l'evasione elabora al proprio ritmo.
500 unità vanno in vendita.
SET stock:sneaker-x 500Ogni cliente può provare due volte ogni 10 secondi. I bot superano subito il limite.
GCRA.LIMIT buy:customer:881 10000 2DECR è atomico. 10.000 clic concorrenti non possono mai prendere più di 500 unità.
DECR stock:sneaker-xLa prenotazione scade da sola se il checkout viene abbandonato, e un processo di pulizia rimette a posto l'unità.
SET hold:sneaker-x:order-7781 customer:42 NX EX 600Quando DECR va sotto zero, l'unità viene restituita e l'acquirente vede esaurito. Lo stock non resta mai negativo a lungo.
INCR stock:sneaker-xGli ordini pagati vengono aggiunti a uno stream. Il sistema del magazzino li elabora al proprio ritmo.
XADD orders * order 7781 sku sneaker-x customer 42Le edizioni limitate si esauriscono in pochi secondi senza vendere in eccesso un solo paio.
I posti vengono tenuti per qualche minuto durante il checkout e liberati automaticamente se l'acquirente se ne va.
Le fasce di consegna sono contatori, decrementati in modo atomico man mano che i clienti le prenotano.
DECR e INCR cambiano lo stock in un solo passo, senza race condition.
DECRINCRBYLe prenotazioni sono chiavi con un TTL.
SETNXEXLimiti per cliente con un tempo di attesa esatto.
GCRA.LIMITUno stream per l'evasione, con consumer group e conferme.
XADDXREADGROUPLe prenotazioni scadute si possono rilevare tramite keyspace notification o una pulizia periodica, che incrementa di nuovo il contatore dello stock.
Sì. GET restituisce il conteggio attuale. Solo DECR prenota.
Usa MULTI ed EXEC, o una function, per decrementare più contatori insieme.
HotKV parla il protocollo Redis, quindi puoi puntarci un client esistente ed eseguire questi stessi comandi.