Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 34045|Svar: 6

[Källa] .NET använder Redis-cache för utgångsnotiser

[Kopiera länk]
Publicerad den 2020-8-22 10:34:59 | | | |
När vi utför vissa tidsbestämda operationer behöver vi återkoppling på resultaten. Till exempel raderas beställningar automatiskt efter utgångsdatum, beställningar beröms automatiskt efter några dagar, obetalda beställningar stängs efter 15 minuter, etc., vilket kan slutföras med vissa tidsstyrda uppgiftsramverk eller pollingmetoder. Denna artikel använder Redis avancerade funktionscache-slutdatumsnotifieringsmekanism kombinerat med .NET/C#-kod för att slutföra affärskrav.

Införandet

Användningsscenarier: 1. Inom betalningsbranschen stängs obetalda beställningar automatiskt 2. Påminnelser om cachens utgångsdatum

Generellt kan vi använda tidstjänsten för att hantera automatisk avslutning av obetalda order, till exempel genom att anropa gränssnittet varje minut för att behandla obetalda och utgångna beställningar, men i detta fall kommer det att förbruka datorns prestanda, även om det inte finns någon order, den kommer att behandlas varje minut, och den maximala fördröjningen för orderhanteringstiden kommer att vara 59 sekunder, och tidstjänsten måste alltid vara tillgänglig

Så vad vill vi göra när det finns obetalda och utgångna beställningar med låg latensbehandling, vi kan använda Redis cache-utgångsmekanisme för att pusha prenumerationen.

Redis-prenumeration

Modifiera notify-keyspace-events Ex i konfigurationsfilen redis.conf

För att spara koppresurser är händelsenotiser inte aktiverade som standard, och standardmeddelandet är notify-keyspace-events

# K nyckelrymdsnotifikation, <db>prefixerad med __keyspace@__
# E-nyckelhändelsenotis, <db>prefixerad med __keysevent@__
# g del, expipre, rename och andra typer av generiska kommandon, ...
# $string befaller
# L Listkommando
#s Sätt kommandot
# h Hash-kommando
# z ordnad set-kommando
# x Utgångshändelse (genereras varje gång en nyckel går ut)
# e utkastningshändelse (genereras när nyckeln rensas när minnet är fullt)
# Ett g$lshzxe alias, så "AKE" betyder alla händelser


Notify-Keyspace-Events "KX" indikerar att du vill övervaka ogiltigförklaringshändelser för en nyckel. Att sätta parametern till strängen AKE innebär att skicka alla typer av notifikationer.

Jag installerade redis as a service på min dator, ändrade konfigurationsfilen redis.windows.conf och behövde starta om konfigurationen av redis för att den skulle träda i kraft.

.NET/C#-kodexempel

Paketet är följande:



åkalla



Låt oss försöka skriva en cache med redis-cli.





Faktum är att du också kan prenumerera på cache-utgångsnotiser genom att utföra följande kommando via redis-cli:




När N klienter prenumererar på cache-utgångshändelsenotiser, kommer Redis att meddela N användare om samma utgångsmeddelande, inte bara en av klienterna, som visas i figuren nedan:



Nedladdning av C#-källkod:

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

sammanfattning

Redis pub/sub är en opålitlig meddelandemekanism, den lagrar inte information, vidarebefordrar bara online, och det finns definitivt ingen ack-bekräftelsemekanism, och endast prenumerationssegmentet kommer att vidarebefordras, så Keyspace Notifications är också ett opålitligt notifikationssystem, om vårt företag behöver bra tillförlitlighet är detta inte det bästa valet. Generellt rekommenderar vi RabbitMQ:s DLX (Dead-Letter-Exchange) för att implementera den, vilket är den fördröjda köfunktionen. Det är bara det att Vedis lösning är lättare att implementera och billigare att använda. Det är fortfarande mycket bekvämt för företag som inte kräver hög tillförlitlighet.




Föregående:.NET Core 3.1 Installation Kinesisk Smartprompt
Nästa:.NET får inte hela referensassemblyn
Publicerad 2020-8-29 14:33:18 |
Lär dig att lära dig
Publicerad den 2021-11-30 13:16:47 |
Lär dig det
Publicerad den 2021-11-30 13:21:02 |
Redis pub/sub är en opålitlig meddelandemekanism, den lagrar inte information, vidarebefordrar bara online, och det finns definitivt ingen ack-bekräftelsemekanism, och endast prenumerationssegmentet kommer att vidarebefordras, så Keyspace Notifications är också ett opålitligt notifikationssystem, om vårt företag behöver bra tillförlitlighet är detta inte det bästa valet. Generellt rekommenderar vi RabbitMQ:s DLX (Dead-Letter-Exchange) för att implementera den, vilket är den fördröjda köfunktionen. Det är bara det att Vedis lösning är lättare att implementera och billigare att använda. Det är fortfarande mycket bekvämt för företag som inte kräver hög tillförlitlighet.
Publicerad den 2022-2-14 17:42:43 |
Titta, lär dig
Publicerad den 2022-3-20 15:25:00 |
Lär dig det
Publicerad den 27-7-2022 16:40:13 |
Lär dig att lära dig
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com