Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Powiadomienia dotyczące przestrzeni kluczy Redis za pomocą StackExchange.Redis

Zwykły interfejs API subskrybenta powinien działać dobrze - nie ma żadnych założeń dotyczących przypadków użycia, a to powinno działać dobrze.

Jednak zgadzam się, że jest to wbudowana funkcjonalność, która może skorzystać z metod pomocniczych w interfejsie API i być może innego podpisu delegata - do enkapsulacji składni powiadomień o klawiszach tak, aby ludzie nie musieli jej duplikować. W tym celu:sugeruję zarejestrowanie problemu, aby nie został zapomniany.

Prosty przykład subskrybowania zdarzenia keyspace

Przede wszystkim ważne jest, aby sprawdzić, czy zdarzenia obszaru kluczy Redis są włączone. Na przykład zdarzenia powinny być włączone na klawiszach typu Set . Można to zrobić za pomocą CONFIG SET polecenie:

CONFIG SET notify-keyspace-events KEs

Po włączeniu zdarzeń przestrzeni klawiszy wystarczy zasubskrybować kanał pub-sub:

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
            }
        }
    );
}

Dowiedz się więcej o zdarzeniach związanych z przestrzenią klawiszy tutaj.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Klawisze Redis nie są wyświetlane podczas korzystania z fasady pamięci podręcznej w Laravel

  2. Nie można uzyskać połączenia Jedis podczas korzystania z SSL z Redis i Spring Data Redis

  3. Enkapsulacja Unicode z redis

  4. Przełączanie awaryjne klastra

  5. Nie można połączyć klastra Redis w Elasticache z PHP za pomocą biblioteki phpredis