sql >> Databáze >  >> NoSQL >> Redis

Redis Pub/Sub ServiceStack, ruší vlákno

Příklad, který ukazuje, jak se přihlásit k odběru a odhlásit odběr zpráv, je v RedisMqServer, např.:

using (var subscription = redisClient.CreateSubscription())
{
    subscription.OnUnSubscribe = channel => 
        Log.Debug("OnUnSubscribe: " + channel);

    subscription.OnMessage = (channel, msg) =>
    {
        if (msg == "STOP")
        {
            Log.Debug("Stop Command Issued");
            Log.Debug("Unsubscribing from all Channels...");
            subscription.UnSubscribeFromAllChannels(); //Unblocks thread.
        }
    };

    subscription.SubscribeToChannels(QueueNames.TopicIn); //blocks thread
}

Kde používá vlastní kontrolní zprávu k odblokování vlákna na pozadí a odhlášení odběru všech kanálů z odběru OnMessage handler.




  1. MongoDB $arrayToObject

  2. Způsobeno:java.lang.IllegalArgumentException:CONTAINING (1):[IsConifying, Containing, Contains] není podporováno pro odvození dotazu redis - Redis

  3. může více klientů přistupovat ke stejnému seznamu současně, aniž by byli blokováni v Redis?

  4. Jak určit únik paměti Redis?