Zamanlanmış işler
Aynı cron her örnekte çalışır ve kilit, işi tam olarak birinin yapmasını sağlar.
Aynı anda bir işi yalnızca bir çalışanın çalıştırdığından emin olun; kendiliğinden sona eren ve sahibi tarafından güvenle serbest bırakılan kilitlerle.
NX onu yalnızca kimse tutmuyorsa alır. PX 30000, A ölürse 30 saniyede sona ermesini sağlar.
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.
Birkaç makinedeki cron işleri, ödeme tahsilatları ve önbellek yeniden oluşturmaları aynı anda iki kez çalışmamalıdır. Sona ermesi olmayan bir kilit, sahibi çöktüğünde sonsuza dek tutulur; düz bir DEL ile bir kilidi serbest bırakmak ise sizinki sona erdikten sonra başkasının kilidini silebilir.
NX ve PX ile SET, bir kilidi yalnızca kimse tutmuyorsa edinir ve çöken bir sahibin onu sonsuza dek tutamaması için ona bir sona erme süresi verir. Her sahip değer olarak rastgele bir belirteç saklar. IFEQ ile DELEX, kilidi yalnızca hâlâ sizin belirtecinizi tutuyorsa siler; bu, eskiden bir Lua betiği gerektiren güvenli serbest bırakmadır.
NX onu yalnızca kimse tutmuyorsa alır. PX 30000, A ölürse 30 saniyede sona ermesini sağlar.
SET lock:billing-run tok-a81f NX PX 30000Kilit tutuluyor, bu yüzden B nil alır ve bu çalıştırmayı atlar.
SET lock:billing-run tok-b22c NX PX 30000Faturalandırma işini yalnızca bir çalışan çalıştırır.
PTTL lock:billing-runDELEX anahtarı yalnızca değer hâlâ A'nın belirteciyse siler.
DELEX lock:billing-run IFEQ tok-a81fA çok yavaş kalmış ve kilidi artık B tutuyor olsaydı, A'nın serbest bırakması B'nin kilidine dokunmazdı.
DELEX lock:billing-run IFEQ tok-staleAynı cron her örnekte çalışır ve kilit, işi tam olarak birinin yapmasını sağlar.
Bir siparişteki tahsilat ve iade işlemleri seri hale getirilir; böylece asla çakışmaz.
Pahalı bir önbellek girdisini yalnızca bir istek yeniden oluşturur; diğerleri bekler veya bayat değeri sunar.
SET NX PX kilidi yalnızca boşsa, bir zaman aşımıyla alır.
SETNXPXDELEX IFEQ yalnızca değer belirtecinizle eşleşirse siler.
DELEXKalan süreyi denetleyin ve uzun işler için uzatın.
PTTLPEXPIREBüyük değerler için DELEX IFDEQ, değerin tamamı yerine bir özeti karşılaştırır.
DIGESTIFDEQKilidinizin süresi dolduysa ve başka bir çalışan onu aldıysa, düz bir DEL onların kilidini silerdi. DELEX IFEQ onu yalnızca hâlâ sizin belirtecinizi tutarken siler.
İşin normalde sürdüğünden uzun. Uzun işler için, kilidi hâlâ tutarken sona erme süresini düzenli olarak uzatın.
Hayır. DELEX karşılaştırma ve silmeyi tek komutta yapar.
HotKV, Redis protokolünü konuşur; bu yüzden mevcut bir istemciyi ona yönlendirip aynı komutları çalıştırabilirsiniz.