Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 34045|Vastaus: 6

[Lähde] .NET käyttää Redis-välimuistia vanhenemisilmoituksiin

[Kopioi linkki]
Julkaistu 2020-8-22 10:34:59 | | | |
Kun suoritamme tiettyjä ajastettuja operaatioita, tarvitsemme palautetta tuloksista. Esimerkiksi tilaukset poistetaan automaattisesti vanhenemisen jälkeen, tilaukset kehutaan automaattisesti muutaman päivän kuluttua, maksamattomat tilaukset suljetaan 15 minuutin jälkeen jne., jotka voidaan suorittaa ajoitettujen tehtäväkehysten tai kyselymenetelmien avulla. Tässä artikkelissa käytetään Redisin kehittynyttä ominaisuusvälimuistin vanhenemistapahtumailmoitusmekanismia yhdistettynä .NET/C#-koodiin liiketoimintavaatimusten täyttämiseksi.

Johdanto

Käyttötilanteet: 1. Maksuliiketoiminnassa maksamattomat tilaukset suljetaan automaattisesti 2. Välimuistin vanhenemismuistutukset

Yleisesti ottaen voimme käyttää ajoituspalvelua käsittelemään maksamattomien tilausten automaattisen sulkemisen, kuten soittamalla rajapintaan joka minuutti maksamattomien ja vanhentuneiden tilausten käsittelyyn, mutta tässä tapauksessa se kuluttaa tietokoneen suorituskykyä; vaikka tilausta ei olisi, se käsitellään minuutin välein, ja maksimiviive tilauksen käsittelyssä on 59 sekuntia, ja ajoituspalvelun on oltava aina käytettävissä

Mitä siis haluamme tehdä vain, kun on maksamattomia ja vanhentuneita tilauksia, joissa käsittely on matala viive: voimme käyttää Redisin välimuistin vanhenemismekanismia tilauksen työntämiseen.

Redis-tilaus

Muokkaa ilmoitusavaintila-tapahtumia Ex konfiguraatiotiedostossa redis.conf

Kuppiresurssien säästämiseksi tapahtumailmoitukset eivät ole oletuksena päällä, ja oletus on notify-keyspace-events

# K-avainvälimerkintä, <db>etuliite __keyspace@__
# E-avain tapahtumailmoitus, <db>etuliite __keysevent@__
# g del, expipre, uudelleennimeä ja muita yleisiä komentoja, ...
# $string käsky
# l Lista-komento
#s Aseta komento
# h Hash-käsky
# z käsky asettaa komento
# x Vanhenemistapahtuma (joka syntyy aina, kun avain vanhenee)
# e häätötapahtuma (syntyy, kun avain tyhjennetään muistin ollessa täynnä)
# G$lshzxe-alias, joten "AKE" tarkoittaa kaikkia tapahtumia


notify-keyspace-events "kx" tarkoittaa, että haluat seurata avaimen mitätöintitapahtumia. Parametrin asettaminen merkkijonoon AKE tarkoittaa kaikenlaisten ilmoitusten lähettämistä.

Asensin redisin palveluna koneelleni, muokkasin redis.windows.conf-konfiguraatiotiedostoa ja jouduin käynnistämään redis-palvelun konfiguraatio uudelleen, jotta se astui voimaan.

.NET/C#-koodiesimerkki

Paketti on seuraava:



vedota



Kokeillaan kirjoittaa välimuisti redis-cli:llä.





Itse asiassa voit myös tilata välimuistin vanhenemisilmoitukset suorittamalla seuraavan komennon redis-cli:n kautta:




Kun N asiakasta tilaa välimuistin vanhenemistapahtumailmoitukset, redis ilmoittaa N käyttäjälle samasta vanhenemisviestistä, ei vain yhdelle asiakkaalle, kuten alla olevassa kuvassa on esitetty:



C#-lähdekoodin lataus:

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

yhteenveto

Redis pub/sub on epäluotettava viestimekanismi, se ei tallenna tietoa, se välittää vain verkkoon, eikä ACK-vahvistusmekanismia ole, ja vain tilaussegmentti ohjataan, joten Keyspace Notifications on myös epäluotettava ilmoitusjärjestelmä. Jos yrityksemme tarvitsee hyvää luotettavuutta, tämä ei ole paras valinta. Yleisesti suosittelemme RabbitMQ:n DLX:ää (Dead-Letter-Exchange) sen toteuttamiseen, joka on viivästetyn jonon toiminto. Ongelma on vain siinä, että Redisin ratkaisu on helpompi toteuttaa ja edullisempi käyttää. Se on edelleen erittäin kätevä yrityksille, jotka eivät vaadi korkeaa luotettavuutta.




Edellinen:.NET Core 3.1 -asennus kiinalainen älykehote
Seuraava:.NET ei saa täyttä referenssikokoonpanoa
Julkaistu 2020-8-29 klo 14:33:18 |
Opettele oppimaan
Julkaistu 30.11.2021 klo 13:16:47 |
Opettele se
Julkaistu 2021-11-30 13:21:02 |
Redis pub/sub on epäluotettava viestimekanismi, se ei tallenna tietoa, se välittää vain verkkoon, eikä ACK-vahvistusmekanismia ole, ja vain tilaussegmentti ohjataan, joten Keyspace Notifications on myös epäluotettava ilmoitusjärjestelmä. Jos yrityksemme tarvitsee hyvää luotettavuutta, tämä ei ole paras valinta. Yleisesti suosittelemme RabbitMQ:n DLX:ää (Dead-Letter-Exchange) sen toteuttamiseen, joka on viivästetyn jonon toiminto. Ongelma on vain siinä, että Redisin ratkaisu on helpompi toteuttaa ja edullisempi käyttää. Se on edelleen erittäin kätevä yrityksille, jotka eivät vaadi korkeaa luotettavuutta.
Julkaistu 2022-2-14 klo 17:42:43 |
Kuule, opi
Julkaistu 2022-3-2 klo 15:25:00 |
Opettele se
Julkaistu 2022-7-27 klo 16:40:13 |
Opettele oppimaan
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com