Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 34045|Odgovoriti: 6

[Vir] .NET uporablja Redis predpomnilnik za obvestila o poteku

[Kopiraj povezavo]
Objavljeno 22. 8. 2020 ob 10:34:59 | | | |
Pri izvajanju določenih časovno omejenih operacij potrebujemo povratne informacije o rezultatih. Na primer, naročila se samodejno izbrišejo po poteku, naročila se samodejno pohvalijo po nekaj dneh, neplačana naročila se zaprejo po 15 minutah itd., kar je mogoče dokončati z uporabo časovno omejenih opravil ali metod anketiranja. Ta članek uporablja mehanizem obveščanja o poteku predpomnilnika Redis napredne funkcije v kombinaciji z .NET/C# kodo za izpolnjevanje poslovnih zahtev.

Uvod

Scenariji uporabe: 1. V plačilnem poslu se neplačana naročila samodejno zaprejo 2. Opomniki za potek predpomnilnika

Na splošno lahko uporabimo storitev časovnega usklajevanja za samodejno zapiranje neplačanih naročil, na primer klicanje vmesnika vsako minuto za obdelavo neplačanih in poteklih naročil, vendar v tem primeru porabi računalniško zmogljivost, tudi če naročila ni, se bo obdelovalo vsako minuto, največja zamuda pri obdelavi naročila pa je 59 sekund, storitev časovnega usklajevanja pa mora biti vedno na voljo

Kaj torej želimo storiti le, ko so neplačana in potekla naročila z nizko zakasnitvijo, lahko uporabimo Redisov mehanizem poteka predpomnilnika za potiskanje naročnine.

Naročnina na Redis

Spremenite notify-keyspace-events Ex v konfiguracijski datoteki redis.conf

Da bi prihranili vire pokala, obvestila o dogodkih privzeto niso vklopljena, privzeto pa je notify-keyspace-events

# Obvestilo o presledku tipk K, <db>s predpono __keyspace@__
# Obvestilo o dogodku tipke E, <db>s predpono __keysevent@__
# g del, expipre, rename in druge vrste generičnih ukazov, ...
# $string ukaz
# l Seznam ukazov
#s Nastavi ukaz
# h Hash ukaz
# z ordered set ukaz
# x Dogodek poteka (generira se vsakič, ko ključ poteče)
# e dogodek izselitve (ustvarjen, ko je ključ izbrisan, ko je pomnilnik poln)
# Vzdevek g$lshzxe, torej "AKE" pomeni vse dogodke


notify-keyspace-events "kx" označuje, da želite spremljati dogodke razveljavitve ključa. Nastavitev parametra na niz AKE pomeni pošiljanje vseh vrst obvestil.

Namestil sem redis kot storitev na svoj računalnik, spremenil konfiguracijsko datoteko redis.windows.conf in moral ponovno zagnati konfiguracijo storitve Redis, da je začela veljati.

Primer kode .NET/C#

Paket je naslednji:



Sklicevati



Poskusimo napisati predpomnilnik z redis-cli.





Pravzaprav se lahko naročite tudi na obvestila o poteku predpomnilnika z izvajanjem naslednjega ukaza preko redis-cli:




Ko se N odjemalcev naroči na obvestila o poteku dogodkov predpomnilnika, redis obvesti N uporabnikov o istem sporočilu o poteku, ne le enega od odjemalcev, kot je prikazano na spodnji sliki:



Prenos izvorne kode v C#:

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

Povzetek

Redis pub/sub je nezanesljiv mehanizem za sporočila, ne shranjuje informacij, posreduje jih le na spletu, zagotovo ni mehanizma za potrditev ack, posreduje se le segment naročnine, zato je Keyspace Notifications tudi nezanesljiv sistem za obveščanje, če naše podjetje potrebuje dobro zanesljivost, potem to ni najboljša izbira. Na splošno priporočamo RabbitMQ-jev DLX (Dead-Letter-Exchange) za njegovo implementacijo, ki je funkcija zamikane vrste. Gre le za to, da je Redisova rešitev lažja za izvedbo in cenejša za uporabo. Še vedno je zelo priročna za podjetja, ki ne zahtevajo visoke zanesljivosti.




Prejšnji:Namestitev .NET Core 3.1 Kitajski pametni poziv
Naslednji:.NET ne prejme celotnega referenčnega asemblerja
Objavljeno 29. 8. 2020 ob 14:33:18 |
Uči se učiti
Objavljeno 30. 11. 2021 ob 13:16:47 |
Nauči se
Objavljeno 30. 11. 2021 ob 13:21:02 |
Redis pub/sub je nezanesljiv mehanizem za sporočila, ne shranjuje informacij, posreduje jih le na spletu, zagotovo ni mehanizma za potrditev ack, posreduje se le segment naročnine, zato je Keyspace Notifications tudi nezanesljiv sistem za obveščanje, če naše podjetje potrebuje dobro zanesljivost, potem to ni najboljša izbira. Na splošno priporočamo RabbitMQ-jev DLX (Dead-Letter-Exchange) za njegovo implementacijo, ki je funkcija zamikane vrste. Gre le za to, da je Redisova rešitev lažja za izvedbo in cenejša za uporabo. Še vedno je zelo priročna za podjetja, ki ne zahtevajo visoke zanesljivosti.
Objavljeno 2022-2-14 ob 17:42:43 |
Poglej, uči se
Objavljeno 2022-3-2 ob 15:25:00 |
Nauči se
Objavljeno 27. 7. 2022 ob 16:40:13 |
Uči se učiti
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com