Zadania harmonogramu
Ten sam cron działa na każdej instancji, a blokada zapewnia, że dokładnie jedna z nich wykonuje pracę.
Upewnij się, że tylko jeden worker uruchamia zadanie naraz, z blokadami, które same wygasają i są bezpiecznie zwalniane przez właściciela.
NX zajmuje ją tylko wtedy, gdy nikt jej nie trzyma. PX 30000 sprawia, że wygasa po 30 sekundach, jeśli A padnie.
Animowany przegląd z prawdziwymi poleceniami HotKV i przykładowymi odpowiedziami. Kliknij dowolny krok, aby do niego przejść. Polecenia i odpowiedzi pozostają po angielsku, dokładnie tak, jak je wpisujesz i widzisz w HotKV.
Zadania cron na kilku maszynach, pobrania płatności i przebudowy cache nie mogą uruchomić się dwa razy naraz. Blokada bez czasu wygaśnięcia jest trzymana wiecznie, gdy jej właściciel ulegnie awarii, a zwolnienie blokady zwykłym DEL może usunąć cudzą blokadę po wygaśnięciu Twojej.
SET z NX i PX zajmuje blokadę tylko wtedy, gdy nikt jej nie trzyma, i nadaje jej czas wygaśnięcia, aby właściciel, który uległ awarii, nie trzymał jej wiecznie. Każdy właściciel zapisuje jako wartość losowy token. DELEX z IFEQ usuwa blokadę tylko wtedy, gdy nadal zawiera Twój token, czyli bezpieczne zwolnienie, które wcześniej wymagało skryptu Lua.
NX zajmuje ją tylko wtedy, gdy nikt jej nie trzyma. PX 30000 sprawia, że wygasa po 30 sekundach, jeśli A padnie.
SET lock:billing-run tok-a81f NX PX 30000Blokada jest zajęta, więc B dostaje nil i pomija ten przebieg.
SET lock:billing-run tok-b22c NX PX 30000Tylko jeden worker uruchamia zadanie rozliczeń.
PTTL lock:billing-runDELEX usuwa klucz tylko wtedy, gdy wartość nadal jest tokenem A.
DELEX lock:billing-run IFEQ tok-a81fGdyby A był zbyt wolny, a B trzymał już blokadę, zwolnienie przez A zostawiłoby blokadę B w spokoju.
DELEX lock:billing-run IFEQ tok-staleTen sam cron działa na każdej instancji, a blokada zapewnia, że dokładnie jedna z nich wykonuje pracę.
Operacje pobrania i zwrotu dla jednego zamówienia są serializowane, aby nigdy się nie nakładały.
Tylko jedno żądanie przebudowuje kosztowny wpis cache, podczas gdy pozostałe czekają lub serwują nieaktualną wartość.
SET NX PX zajmuje blokadę tylko wtedy, gdy jest wolna, z limitem czasu.
SETNXPXDELEX IFEQ usuwa tylko wtedy, gdy wartość pasuje do Twojego tokenu.
DELEXSprawdź pozostały czas i przedłuż go dla długich zadań.
PTTLPEXPIREDla dużych wartości DELEX IFDEQ porównuje skrót zamiast pełnej wartości.
DIGESTIFDEQJeśli Twoja blokada wygasła, a inny worker ją zajął, zwykłe DEL usunęłoby jego blokadę. DELEX IFEQ usuwa ją tylko, dopóki nadal zawiera Twój token.
Dłuższy niż zwykle trwa zadanie. Dla długich zadań przedłużaj okresowo czas wygaśnięcia, dopóki trzymasz blokadę.
Nie. DELEX wykonuje porównanie i usunięcie w jednym poleceniu.
HotKV mówi protokołem Redis, więc możesz skierować na niego istniejącego klienta i uruchomić te same polecenia.