Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 34045|Odpowiedź: 6

[Źródło] .NET używa pamięci podręcznej Redis do powiadomień o wygaśnięciu

[Skopiuj link]
Opublikowano 2020-8-22 10:34:59 | | | |
Podczas wykonywania niektórych operacji czasowych potrzebujemy informacji zwrotnej na temat wyników. Na przykład zamówienia są automatycznie usuwane po wygaśnięciu terminu, zamówienia automatycznie chwalone po kilku dniach, nieopłacone po 15 minutach itd., co można realizować za pomocą niektórych ram zadań czasowych lub metod ankietowania. Niniejszy artykuł wykorzystuje mechanizm powiadomienia o zdarzeniu wygaśnięcia pamięci podręcznej Redis w połączeniu z kodem .NET/C# do realizacji wymagań biznesowych.

Wprowadzenie

Scenariusze użytkowania: 1. W branży płatniczej nieopłacone zlecenia są automatycznie zamykane 2. Przypomnienia o wygaśnięciu pamięci podręcznej

Ogólnie rzecz biorąc, możemy użyć usługi timeringu do automatycznego zamknięcia nieopłaconych zleceń, na przykład wywołując interfejs co minutę, aby przetworzyć nieopłacone i wygasłe zamówienia, ale w takim przypadku zużywa to wydajność komputera, nawet jeśli nie ma zamówienia, będzie ono przetwarzane co minutę, a maksymalne opóźnienie w realizacji zamówienia wyniesie 59 sekund, a usługa timeringu musi być zawsze dostępna

Co więc chcemy zrobić? Tylko wtedy, gdy są nieopłacone i wygasłe zamówienia z niskim opóźnieniem przetwarzaniem, możemy użyć mechanizmu wygaśnięcia pamięci podręcznej Redis, aby wypchnąć subskrypcję.

Subskrypcja Redis

Zmodyfikuj notify-keyspace-events Ex w pliku konfiguracyjnym redis.conf

Aby oszczędzać zasoby kubka, powiadomienia o zdarzeniach nie są domyślnie włączone, a domyślne to notify-keyspace-events

# Powiadomienie o spacji K, z <db>prefiksem __keyspace@__
# Powiadomienie o zdarzeniu E, z <db>prefiksem __keysevent@__
# g del, expipre, rename i inne rodzaje ogólnych poleceń, ...
# $string rozkaz
# l List command
#s Ustaw komendę
# h Polecenie skrótu
# z order set command
# x Zdarzenie wygaśnięcia (generowane za każdym razem, gdy klucz wygasa)
# e Ewakuacja (generowana, gdy klucz jest czyszczony, gdy pamięć jest pełna)
# Pseudonim g$lshzxe, więc "AKE" oznacza wszystkie zdarzenia


Notify-keyspace-events "kx" oznacza, że chcesz monitorować zdarzenia unieważnienia dla danego klucza. Ustawienie parametru na ciąg AKE oznacza wysyłanie wszystkich typów powiadomień.

Zainstalowałem redis jako usługę na moim komputerze, zmodyfikowałem plik konfiguracyjny redis.windows.conf i musiałem zrestartować konfigurację usługi redis, aby zadziałała.

Przykład kodu .NET/C#

Pakiet przedstawia się następująco:



wywołać



Spróbujmy napisać cache z redis-cli.





W rzeczywistości możesz także subskrybować powiadomienia o wygaśnięciu pamięci podręcznej, wykonując następujące polecenie za pomocą redis-cli:




Gdy N klientów subskrybuje powiadomienia o zdarzeniu wygaśnięcia pamięci podręcznej, redis powiadomi N użytkowników o tym samym komunikatie o wygaśnięciu danych, a nie tylko o jednym z klientów, jak pokazano na poniższym rysunku:



Pobranie kodu źródłowego w C#:

https://down.itsvse.com/item/17856.html

streszczenie

Redis pub/sub to niewiarygodny mechanizm wiadomości, nie przechowuje informacji, tylko przekierowuje online, nie ma mechanizmu potwierdzania ack i przekierowany będzie tylko segment subskrypcji, więc powiadomienia w przestrzeni kluczy to również zawodny system powiadomień, jeśli nasza firma potrzebuje dobrej niezawodności, to nie jest najlepszy wybór. Zazwyczaj zalecamy DLX (Dead-Letter-Exchange) w RabbitMQ do implementacji, czyli funkcję opóźnionej kolejki. Po prostu rozwiązanie Redis jest łatwiejsze do wdrożenia i tańsze w eksploatacji. Wciąż jest to bardzo wygodne dla firm, które nie wymagają wysokiej niezawodności.




Poprzedni:.NET Core 3.1 Instalacja Chiński Inteligentny Prompt
Następny:.NET nie otrzymuje pełnego asemblera referencyjnego
Opublikowano 2020-8-29 14:33:18 |
Naucz się uczyć
Opublikowano 30.11.2021 o 13:16:47 |
Naucz się go
Opublikowano 30.11.2021 13:21:02 |
Redis pub/sub to niewiarygodny mechanizm wiadomości, nie przechowuje informacji, tylko przekierowuje online, nie ma mechanizmu potwierdzania ack i przekierowany będzie tylko segment subskrypcji, więc powiadomienia w przestrzeni kluczy to również zawodny system powiadomień, jeśli nasza firma potrzebuje dobrej niezawodności, to nie jest najlepszy wybór. Zazwyczaj zalecamy DLX (Dead-Letter-Exchange) w RabbitMQ do implementacji, czyli funkcję opóźnionej kolejki. Po prostu rozwiązanie Redis jest łatwiejsze do wdrożenia i tańsze w eksploatacji. Wciąż jest to bardzo wygodne dla firm, które nie wymagają wysokiej niezawodności.
Opublikowano 2022-2-14 17:42:43 |
Patrz, ucz się
Opublikowano 2022-3-2 o 15:25:00 |
Naucz się go
Opublikowano 27.07.2022 o 16:40:13 |
Naucz się uczyć
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com