Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 34045|Válasz: 6

[Forrás] A .NET Redis cache-t használja lejárati értesítésekhez

[Linket másol]
Közzétéve: 2020-8-22 10:34:59 | | | |
Bizonyos időzített műveletek során visszajelzésre van szükségünk az eredményekről. Például a rendeléseket automatikusan töröljük a lejárat után, a rendeléseket néhány nap múlva automatikusan dicsérik, a kifizetetlen rendeléseket 15 perc után zárják, stb., amelyeket időzített feladatkeretek vagy szavazási módszerek segítségével lehet elvégezni. Ez a cikk a Redis fejlett funkciójának gyorsítótár lejáró eseményértesítési mechanizmusát kombinálja .NET/C# kóddal az üzleti követelmények teljesítéséhez.

Bevezetés

Használati forgatókönyvek: 1. A fizetési üzletben a kifizetetlen megrendelések automatikusan lezáródnak 2. Gyorsítótár lejárati emlékeztetők

Általánosságban az időzítési szolgáltatást használhatjuk az elfizetetlen megrendelések automatikus lezárásának feldolgozására, például minden percben felhívjuk az interfészt a kifizetetlen és lejárt megrendelések feldolgozásához, de ebben az esetben számítógép teljesítményét fogyasztja, még ha nincs is rendelés, percenként feldolgozzák, és a rendelésfeldolgozás maximális késleltetése 59 másodperc lesz, és az időzítő szolgáltatásnak mindig elérhetőnek kell lennie

Mit szeretnénk csinálni csak akkor, ha vannak kifizetetlen és lejárt megrendelések, alacsony késleltetésű feldolgozással, a Redis gyorsítótár lejárati mechanizmusát használhatjuk az előfizetés előzéséhez.

Redis előfizetés

Módosítsuk az ex-et a redis.conf konfigurációs fájlban a notify-keyspace-events Ex

A pohár erőforrások megtakarítása érdekében az eseményértesítések alapértelmezés nélkül nem kapcsolódnak be, és az alapértelmezett a notify-keyspace-events

# K kulcstér értesítés, <db>előtaggal __keyspace@__
# E kulcsú eseményértesítés, <db>előtaggal __keysevent@__
# g del, expipre, rename és más általános parancsok, ...
# $string parancs
# l Lista parancs
#s Parancs beállítása
# h Hash parancs
# z parancsot állított be
# x Lejárási esemény (minden alkalommal generálható, amikor egy kulcs lejár)
# e kilakoltatási esemény (akkor generálódik, amikor a kulcs kiürül, amikor a memória megtelt)
# Egy g$lshzxe álnév, tehát az "AKE" minden eseményt jelent


a notify-keyspace-events "kx" azt jelzi, hogy egy kulcs érvénytelenítési eseményeit szeretnéd figyelni. Az AKE string paraméter beállítása azt jelenti, hogy mindenféle értesítést küldünk.

Telepítettem a Redis szolgáltatást a gépemre, módosítottam a redis.windows.conf konfigurációs fájlt, és újra kellett indítanom a redis szolgáltatás konfigurációját, hogy belépjen a hatásba.

.NET/C# kód példa

A csomag a következő:



hív



Próbáljunk meg cache-et írni redis-cli-vel.





Valójában előfizethetsz a cache lejárási értesítésekre is, ha a következő parancsot hajtod végre a redis-cli-n keresztül:




Amikor N kliens feliratkozik a cache lejárási esemény értesítéseire, a redis N felhasználót értesít ugyanarról a lejárati üzenetről, nem csak az egyik kliensről, ahogy az alábbi ábrán látható:



C# forráskód letöltés:

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

összefoglalás

A Redis pub/sub megbízhatatlan üzenetcsatorna, nem tárolja az információkat, csak online továbbítja, és biztosan nincs ACK megerősítő mechanizmus, csak az előfizetéses szegmens kerül továbbításra, így a Keyspace Notifications is megbízhatatlan értesítési rendszer, ha a vállalkozásunknak jó megbízhatóságra van szüksége, akkor ez nem a legjobb választás. Általánosságban a RabbitMQ DLX-jét (Dead-Letter-Exchange) javasoljuk ennek megvalósításához, ami a késleltetett sorban lévő funkció. Csak az a helyzet, hogy a Redis megoldása könnyebben megvalósítható és olcsóbb üzemeltetni. Még mindig nagyon kényelmes azoknak a vállalkozásoknak, amelyek nem igényelnek nagy megbízhatóságot.




Előző:.NET Core 3.1 telepítés kínai okos prompt
Következő:A .NET nem kapja meg a teljes referencia assembly összeállítást
Közzétéve: 2020-8-29 14:33:18 |
Tanulj meg
Közzétéve 2021-11-30 13:16:47-én |
Tanuld meg
Közzétéve: 2021-11-30 13:21:02 |
A Redis pub/sub megbízhatatlan üzenetcsatorna, nem tárolja az információkat, csak online továbbítja, és biztosan nincs ACK megerősítő mechanizmus, csak az előfizetéses szegmens kerül továbbításra, így a Keyspace Notifications is megbízhatatlan értesítési rendszer, ha a vállalkozásunknak jó megbízhatóságra van szüksége, akkor ez nem a legjobb választás. Általánosságban a RabbitMQ DLX-jét (Dead-Letter-Exchange) javasoljuk ennek megvalósításához, ami a késleltetett sorban lévő funkció. Csak az a helyzet, hogy a Redis megoldása könnyebben megvalósítható és olcsóbb üzemeltetni. Még mindig nagyon kényelmes azoknak a vállalkozásoknak, amelyek nem igényelnek nagy megbízhatóságot.
Közzétéve: 2022-2-14 17:42:43 |
Nézd, tanulj meg
Közzétéve: 2022-3-2 15:25:00 |
Tanuld meg
Közzétéve: 2022-7-27 16:40:13 |
Tanulj meg
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com