Я пытаюсь получить доступ к уведомлениям о ключах в приложении .NET с помощью ServiceStack.Redis. Я новичок в Redis.Как получить доступ к уведомлениям о ключах с помощью ServiceStack.redis
Я включил уведомления о событиях на кэш с помощью команды:
CONFIG SET notify-keyspace-events KEs
Я подписываюсь на канал "ключ *: *" в .Net. Ниже приведен мой код:
const string ChannelName = "__key*__:*";
using (var redisConsumer = new RedisClient("localhost:6379"))
using (var subscription = redisConsumer.CreateSubscription())
{
subscription.OnSubscribe = channel =>
{
Console.WriteLine(String.Format("Subscribed to '{0}'", channel));
};
subscription.OnUnSubscribe = channel =>
{
Console.WriteLine(String.Format("UnSubscribed from '{0}'", channel));
};
subscription.OnMessage = (channel, msg) =>
{
Console.WriteLine(String.Format("Received '{0}' from channel '{1}'",
msg, channel));
};
Console.WriteLine(String.Format("Started Listening On '{0}'", ChannelName));
subscription.SubscribeToChannels(ChannelName); //blocking
}
Из другого приложения .Net, я добавляю новые данные в кэш. Я ожидаю получить событие (в OnMessage). Приложение не захватывает какое-либо событие при добавлении нового элемента в кеш.
Но, когда я запускаю команду «psubscribe» ключ *: * '' на redis-cli.exe, он правильно регистрирует события. (когда я добавляю новый элемент в кеш, он отображает информацию о событии в окне консоли.)
Я не могу зафиксировать то же самое в своем приложении. Я что-то пропустил?