Redis
 sql >> база данни >  >> NoSQL >> Redis

Уведомления за ключовото пространство на Redis със StackExchange.Redis

Обикновеният API за абонати трябва да работи добре – няма предположения за случаите на употреба и това трябва да работи добре.

Донякъде обаче съм съгласен, че това е вградена функционалност, която може би би могла да се възползва от помощни методи на API и може би различен подпис на делегат - за капсулиране на синтаксиса на известията на keyapace, така че хората да не трябва да го дублират. За това:предлагам да регистрирате проблем, за да не бъде забравен.

Прост пример за това как да се абонирате за събитие на ключово пространство

Преди всичко е важно да проверите дали събитията в ключовото пространство на Redis са активирани. Например събитията трябва да бъдат активирани за ключове от тип Set . Това може да стане с помощта на CONFIG SET команда:

CONFIG SET notify-keyspace-events KEs

След като събитията в ключовото пространство са активирани, става въпрос само за абониране за канала 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
            }
        }
    );
}

Научете повече за събитията на ключовото пространство тук.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Faye или Redis Pubsub

  2. Свържете се с AWS ElastiCache с криптиране при транспортиране

  3. Кеш на Redis срещу директно използване на паметта

  4. Планиране на задачи за целина с голямо ETA

  5. Могат ли уведомленията за ключово пространство на redis да се изпращат в потока на redis вместо в pub/sub канал