sql >> Database teknologi >  >> NoSQL >> Redis

Redis nøglerumsmeddelelser med StackExchange.Redis

Den almindelige abonnent-API burde fungere fint - der er ingen antagelser om use-cases, og dette burde fungere fint.

Jeg er dog ret enig i, at dette er indbygget funktionalitet, der måske kunne drage fordel af hjælpemetoder på API'et, og måske en anden delegeret signatur - for at indkapsle syntaksen af ​​keyapace-meddelelserne, så folk ikke behøver at duplikere det. Til det:Jeg foreslår, at du logger et problem, så det ikke bliver glemt.

Simpelt eksempel på, hvordan man abonnerer på en nøglerumsbegivenhed

Først og fremmest er det vigtigt at kontrollere, at Redis keyspace-begivenheder er aktiveret. For eksempel skal hændelser være aktiveret på nøgler af typen Set . Dette kan gøres ved at bruge CONFIG SET kommando:

CONFIG SET notify-keyspace-events KEs

Når keyspace-begivenheder er aktiveret, er det bare om at abonnere på pub-sub-kanalen:

using (ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("localhost"))
{
    IDatabase db = connection.GetDatabase();
    ISubscriber subscriber = connection.GetSubscriber();

    subscriber.Subscribe("[email protected]__:*", (channel, value) =>
        {
            if ((string)channel == "[email protected]__:users" && (string)value == "sadd")
            {
                // Do stuff if some item is added to a hypothethical "users" set in Redis
            }
        }
    );
}

Få mere at vide om nøglerumsbegivenheder her.



  1. Maskering af PII i MongoDB, Cassandra og Elasticsearch med DarkShield:...

  2. Hvordan kan jeg rydde alle forekomster af type X i ServiceStack Redis Client

  3. Mongo unikke indeks ufølsomme

  4. Kan MongoDB aggregeringsramme $group returnere en række værdier?