Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 34045|Atbildi: 6

[Avots] .NET izmanto Redis kešatmiņu paziņojumiem par derīguma termiņa beigām

[Kopēt saiti]
Publicēts 2020-8-22 10:34:59 | | | |
Veicot noteiktas operācijas ar laiku, mums ir nepieciešama atgriezeniskā saite par rezultātiem. Piemēram, pasūtījumi tiek automātiski izdzēsti, pasūtījumi tiek automātiski slavēti pēc dažām dienām, neapmaksāti pasūtījumi tiek slēgti pēc 15 minūtēm utt., Ko var pabeigt, izmantojot dažus laika uzdevumus vai aptaujas metodes. Šajā rakstā tiek izmantots Redis uzlaboto līdzekļu kešatmiņas derīguma termiņa paziņošanas mehānisms apvienojumā ar .NET/C# kodu, lai izpildītu biznesa prasības.

Ievads

Lietošanas scenāriji: 1. Maksājumu biznesā neapmaksātie pasūtījumi tiek automātiski slēgti 2. Kešatmiņas atgādinājumi par derīguma termiņu

Kopumā mēs varam izmantot laika pakalpojumu, lai apstrādātu neapmaksātu pasūtījumu automātisku slēgšanu, piemēram, katru minūti zvanot uz saskarni, lai apstrādātu neapmaksātus un beidzies pasūtījumu derīguma termiņš, bet šajā gadījumā tas patērēs datora veiktspēju, pat ja nav pasūtījuma, tas tiks apstrādāts katru minūti, un maksimālā pasūtījuma apstrādes laika kavēšanās būs 59s, un laika pakalpojumam vienmēr jābūt pieejamam

Tātad, ko mēs vēlamies darīt tikai tad, ja ir neapmaksāti un beidzies pasūtījumi ar zemu latentuma apstrādi, mēs varam izmantot Redis kešatmiņas derīguma termiņa mehānismu, lai virzītu abonementu.

Redis abonements

Modificējiet notify-keyspace-events Ex konfigurācijas failā redis.conf

Lai ietaupītu kausa resursus, notikumu paziņojumi pēc noklusējuma nav ieslēgti, un noklusējums ir notify-keyspace-events

# K paziņojums par taustiņu <db>atstarpi, prefikss ar __keyspace@__
# E atslēgas notikuma paziņojums, <db>prefikss __keysevent@__
# g del, expipre, pārdēvēt un cita veida vispārējas komandas, ...
# $string komanda
# l Komanda Saraksts
Komanda #s Set
# h Hash komanda
# z pasūtīta komanda set
# x Derīguma termiņš (ģenerēts katru reizi, kad beidzas atslēgas derīguma termiņš)
# e izlikšanas notikums (ģenerēts, kad atslēga tiek notīrīta, kad atmiņa ir pilna)
# g$lshzxe aizstājvārds, tātad "AKE" nozīmē visus notikumus


notify-keyspace-events "kx" norāda, ka vēlaties pārraudzīt atslēgas anulēšanas notikumus. Parametra iestatīšana uz virkni AKE nozīmē visu veidu paziņojumu nosūtīšanu.

Es instalēju redis kā pakalpojumu savā datorā, modificēju redis.windows.conf konfigurācijas failu un vajadzēja restartēt redis pakalpojuma konfigurāciju, lai tā stātos spēkā.

.NET/C# koda piemērs

Pakete ir šāda:



Izmantot



Mēģināsim uzrakstīt kešatmiņu ar redis-cli.





Faktiski varat arī abonēt kešatmiņas derīguma termiņa paziņojumus, izpildot šādu komandu, izmantojot redis-cli:




Kad N klienti abonē kešatmiņas derīguma termiņa notikumu paziņojumus, redis paziņos N lietotājiem par to pašu derīguma termiņa ziņojumu, nevis tikai vienu no klientiem, kā parādīts zemāk redzamajā attēlā:



C# avota koda lejupielāde:

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

Kopsavilkuma

Redis pub / sub ir neuzticams ziņojumu mehānisms, tas nesaglabās informāciju, tas tiks pārsūtīts tikai tiešsaistē, un noteikti nav ack apstiprinājuma mehānisma, un tiks pārsūtīts tikai abonēšanas segments, tāpēc Keyspace paziņojumi ir arī neuzticama paziņojumu sistēma, ja mūsu biznesam ir nepieciešama laba uzticamība, tad šī nav labākā izvēle. Parasti mēs iesakām to ieviest RabbitMQ DLX (Dead-Letter-Exchange), kas ir aizkavētās rindas funkcija. Tas ir tikai tas, ka Redis risinājums ir vieglāk īstenojams un lētāk ekspluatējams. Tas joprojām ir ļoti ērti uzņēmumiem, kuriem nav nepieciešama augsta uzticamība.




Iepriekšējo:.NET Core 3.1 instalēšanas ķīniešu viedā uzvedne
Nākamo:.NET nesaņem pilnu atsauces montāžas komplektu
Publicēts 2020-8-29 14:33:18 |
Iemācieties mācīties
Publicēts 2021-11-30 13:16:47 |
Uzziniet to
Publicēts 2021-11-30 13:21:02 |
Redis pub / sub ir neuzticams ziņojumu mehānisms, tas nesaglabās informāciju, tas tiks pārsūtīts tikai tiešsaistē, un noteikti nav ack apstiprinājuma mehānisma, un tiks pārsūtīts tikai abonēšanas segments, tāpēc Keyspace paziņojumi ir arī neuzticama paziņojumu sistēma, ja mūsu biznesam ir nepieciešama laba uzticamība, tad šī nav labākā izvēle. Parasti mēs iesakām to ieviest RabbitMQ DLX (Dead-Letter-Exchange), kas ir aizkavētās rindas funkcija. Tas ir tikai tas, ka Redis risinājums ir vieglāk īstenojams un lētāk ekspluatējams. Tas joprojām ir ļoti ērti uzņēmumiem, kuriem nav nepieciešama augsta uzticamība.
Publicēts 2022-2-14 17:42:43 |
Skaties, mācies
Publicēts 2022-3-2 15:25:00 |
Uzziniet to
Publicēts 2022-7-27 16:40:13 |
Iemācieties mācīties
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com