Надежный Redis кеш TTL истечение срока - PullRequest
0 голосов
/ 08 декабря 2018

Позволяет ли кэш Azure Redis устанавливать функцию надежного запуска при истечении срока действия определенного ключа в моем кэше?

1 Ответ

0 голосов
/ 27 декабря 2018

Вы можете объединить клиента, используя Redis Pub / Sub и Redis Keyspace Notifications , чтобы клиент получал сообщение, когда события происходят с определенными ключами или когда определенные события происходят с любымключ.Затем вы можете использовать сопоставления с образцом подписок , чтобы получать сообщения для более чем одного ключа.Вы также можете подписаться на несколько каналов с одного клиента;все сообщения включают в себя канал, на который он публикует, чтобы ваш клиент мог решить, что делать.

Чтобы получить сообщение по истечении срока действия любого ключа, начинающегося с foo, выполните следующие действия:

  1. Установите notify-keyspace-events значение конфигурации на Kx с помощью портала Azure.Шаги для установки значения для Azure здесь .Более подробная информация о схеме значений конфигурации определена здесь .
  2. Используя клиент по вашему выбору, PSUBSCRIBE (шаблон подписки) на канал для вашего ключа: PSUBSCRIBE '__keyspace@*__:foo*'
  3. Используя другое клиентское соединение, установите значение для своего ключа с помощью TTL: SET foo42 bar EX 5
  4. Через 5 секунд вы увидите сообщение на своем подписавшемся клиенте: "pmessage","__keyspace@*__:foo*","__keyspace@0__:foo42","expired"

Чтобы получить сообщение об истечении срока действия любого ключа, выполните следующие действия:

  1. Установите для notify-keyspace-events config значение Ex
  2. PSUBSCRIBE для канала событий ключадля ключей, срок действия которых истек: PSUBSCRIBE '__keyevent@*__:expired'
  3. В другом клиенте установите ключ с TTL: SET foo bar EX 5
  4. Через 5 секунд увидите сообщение на клиенте, подписавшемся: "pmessage","__keyevent@*__:expired","__keyevent@0__:expired","foo"

Для быстрой разработки и отладки клиентов я бы рекомендовал использовать redis-cli или консоль Redis в портале Azure .

Надеюсь это поможет.Удачи!

...