Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 34045|Atsakyti: 6

[Šaltinis] .NET naudoja "Redis" talpyklą pranešimams apie galiojimo laiką

[Kopijuoti nuorodą]
Publikuota: 2020-8-22 10:34:59 | | | |
Atliekant tam tikras operacijas pagal laiką, mums reikia grįžtamojo ryšio apie rezultatus. Pavyzdžiui, užsakymai automatiškai ištrinami pasibaigus galiojimo laikui, užsakymai automatiškai giriami po kelių dienų, neapmokėti užsakymai uždaromi po 15 minučių ir t. t., kuriuos galima atlikti naudojant tam tikras laiko užduočių sistemas ar apklausos metodus. Šiame straipsnyje naudojamas "Redis" išplėstinių funkcijų talpyklos galiojimo pabaigos įvykių pranešimo mechanizmas kartu su .NET/C# kodu, kad būtų įvykdyti verslo reikalavimai.

Įvadas

Naudojimo scenarijai: 1. Mokėjimų versle neapmokėti užsakymai automatiškai uždaromi 2. Talpyklos galiojimo pabaigos priminimai

Apskritai, mes galime naudoti laiko paslaugą, kad apdorotume automatinį neapmokėtų užsakymų uždarymą, pvz., skambindami į sąsają kas minutę, kad apdorotume neapmokėtus ir pasibaigusius užsakymus, tačiau tokiu atveju tai sunaudos kompiuterio našumą, net jei nėra užsakymo, jis bus apdorojamas kas minutę, o maksimalus užsakymo apdorojimo laikas bus 59 s, o laiko nustatymo paslauga turi būti visada prieinama

Taigi, ką norime daryti tik tada, kai yra neapmokėtų ir pasibaigusių užsakymų su mažu delsos apdorojimu, galime naudoti "Redis" talpyklos galiojimo pabaigos mechanizmą, kad stumtume prenumeratą.

Redis prenumerata

Pakeiskite notify-keyspace-events Ex konfigūracijos faile redis.conf

Siekiant taupyti taurės išteklius, pranešimai apie įvykius nėra įjungti pagal numatytuosius nustatymus, o numatytasis yra notify-keyspace-events

# K klavišų tarpo pranešimas, <db>priešdėlis __keyspace@__
# E rakto pranešimas apie įvykį, <db>priešdėlis __keysevent@__
# g del, expipre, pervardyti ir kitų tipų bendrosios komandos, ...
# $string komanda
# l Sąrašo komanda
#s Nustatyti komandą
# h Maišos komanda
# z užsakyta komanda nustatyti
# x Galiojimo pabaigos įvykis (sugeneruojamas kiekvieną kartą, kai baigiasi rakto galiojimo laikas)
# E iškeldinimo įvykis (sugeneruojamas, kai raktas išvalomas, kai atmintis pilna)
# g$lshzxe slapyvardžiu, taigi "AKE" reiškia visus įvykius


notify-keyspace-events "kx" nurodo, kad norite stebėti rakto negaliojimo įvykius. Parametro nustatymas į eilutę AKE reiškia visų tipų pranešimų siuntimą.

Įdiegiau redis kaip paslaugą savo kompiuteryje, pakeičiau redis.windows.conf konfigūracijos failą ir turėjau iš naujo paleisti redis paslaugos konfigūraciją, kad įsigaliotų.

.NET/C# kodo pavyzdys

Paketas yra toks:



Remtis



Pabandykime parašyti talpyklą su redis-cli.





Tiesą sakant, taip pat galite užsiprenumeruoti talpyklos pranešimus apie galiojimo laiką vykdydami šią komandą per redis-cli:




Kai N klientai užsiprenumeruoja talpyklos galiojimo pabaigos įvykių pranešimus, redis praneš N vartotojams apie tą patį galiojimo pranešimą, o ne tik vieną iš klientų, kaip parodyta paveikslėlyje žemiau:



C# šaltinio kodo atsisiuntimas:

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

suvestinė

"Redis pub/sub" yra nepatikimas pranešimų mechanizmas, jis nesaugos informacijos, bus persiųstas tik internetu, o patvirtinimo mechanizmo tikrai nėra, o bus persiųstas tik prenumeratos segmentas, todėl "Keyspace Notifications" taip pat yra nepatikima pranešimų sistema, jei mūsų verslui reikia gero patikimumo, tai nėra geriausias pasirinkimas. Paprastai rekomenduojame jį įdiegti RabbitMQ DLX (Dead-Letter-Exchange), kuris yra atidėtos eilės funkcija. Tiesiog "Redis" sprendimas yra lengviau įgyvendinamas ir pigesnis. Tai vis dar labai patogu įmonėms, kurioms nereikia didelio patikimumo.




Ankstesnis:.NET Core 3.1 diegimo kinų išmanusis raginimas
Kitą:.NET negauna viso nuorodų rinkinio rinkinio
Publikuota: 2020-8-29 14:33:18 |
Išmokite mokytis
Publikuota: 2021-11-30 13:16:47 |
Išmokite
Publikuota: 2021-11-30 13:21:02 |
"Redis pub/sub" yra nepatikimas pranešimų mechanizmas, jis nesaugos informacijos, bus persiųstas tik internetu, o patvirtinimo mechanizmo tikrai nėra, o bus persiųstas tik prenumeratos segmentas, todėl "Keyspace Notifications" taip pat yra nepatikima pranešimų sistema, jei mūsų verslui reikia gero patikimumo, tai nėra geriausias pasirinkimas. Paprastai rekomenduojame jį įdiegti RabbitMQ DLX (Dead-Letter-Exchange), kuris yra atidėtos eilės funkcija. Tiesiog "Redis" sprendimas yra lengviau įgyvendinamas ir pigesnis. Tai vis dar labai patogu įmonėms, kurioms nereikia didelio patikimumo.
Publikuota 2022-2-14 17:42:43 |
Žiūrėk, mokykis
Publikuota: 2022-3-2 15:25:00 |
Išmokite
Publikuota: 2022-7-27 16:40:13 |
Išmokite mokytis
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com