Spor ayakkabı ve ürün çıkışları
Sınırlı sayıdaki ürünler, tek bir çift bile fazla satılmadan saniyeler içinde tükenir.
On bin alışverişçi aynı saniyede Satın Al'a tıkladığında tam olarak eldeki stoku satın ve botları dışarıda tutun.
500 birim satışa çıkar.
Gerçek HotKV komutları ve örnek yanıtlarla animasyonlu bir anlatım. Herhangi bir adıma atlamak için üzerine tıklayın. Komutlar ve yanıtlar, HotKV'de yazdığınız ve gördüğünüz haliyle İngilizce kalır.
Bir flaş satışta envanter veritabanı, tam en önemli olduğu anda darboğazdır. Oku-sonra-yaz denetimleri eşzamanlılık altında fazla satar, terk edilen sepetler stoku sonsuza dek kilitler ve botlar, gerçek müşteriler sayfayı yüklemeyi bitirmeden stoku satın alır.
Stok, atomik olarak azaltılan bir sayaçta yaşar; böylece eşzamanlı alıcılar asla var olandan fazlasını alamaz. Her rezervasyon, on dakikalık sona erme süresi olan bir anahtardır, müşteri başına bir hız sınırı botları yavaşlatır ve onaylanan siparişler karşılamanın kendi hızında işlemesi için bir akışa girer.
500 birim satışa çıkar.
SET stock:sneaker-x 500Her müşteri 10 saniyede iki kez deneyebilir. Botlar bunu hemen aşar.
GCRA.LIMIT buy:customer:881 10000 2DECR atomiktir. 10.000 eşzamanlı tıklama asla 500 birimden fazlasını alamaz.
DECR stock:sneaker-xÖdeme terk edilirse rezervasyon kendiliğinden sona erer ve bir süpürücü birimi geri koyar.
SET hold:sneaker-x:order-7781 customer:42 NX EX 600DECR sıfırın altına düştüğünde birim geri verilir ve alışverişçi tükendi görür. Stok asla uzun süre negatif olmaz.
INCR stock:sneaker-xÖdenen siparişler bir akışa eklenir. Depo sistemi bunları kendi hızında işler.
XADD orders * order 7781 sku sneaker-x customer 42Sınırlı sayıdaki ürünler, tek bir çift bile fazla satılmadan saniyeler içinde tükenir.
Koltuklar ödeme sırasında birkaç dakika tutulur ve alıcı ayrılırsa otomatik olarak serbest bırakılır.
Teslimat zaman dilimleri sayaçlardır; müşteriler rezervasyon yaptıkça atomik olarak azaltılır.
DECR ve INCR stoku tek adımda, yarış olmadan değiştirir.
DECRINCRBYRezervasyonlar TTL'li anahtarlardır.
SETNXEXMüşteri başına sınırlar ve kesin bir yeniden deneme süresi.
GCRA.LIMITKarşılama için, tüketici grupları ve onaylarla bir akış.
XADDXREADGROUPSüresi dolan tutmalar anahtar uzayı bildirimleri veya düzenli bir süpürmeyle fark edilebilir; bu da stok sayacını yeniden artırır.
Evet. GET mevcut sayıyı döndürür. Yalnızca DECR rezerve eder.
Birkaç sayacı birlikte azaltmak için MULTI ve EXEC ya da bir işlev kullanın.
HotKV, Redis protokolünü konuşur; bu yüzden mevcut bir istemciyi ona yönlendirip aynı komutları çalıştırabilirsiniz.