@zuart
... уже и не знаю, нуп, похоже ...

Как подписаться на события REDIS?

Попытался в 100500-ый раз вникнуть в REDIS для того, чтобы отказаться от самописного сервиса в пользу чего-то более стабильного и надежного. Первым и наиболее советуемым оказался REDIS, но... или я не докуриваю его возможности, или он все-таки не подходит...

Суть текущего модуля:
- центральный сервис, к которому подключаются "клиенты"
- любой клиент может отправить на сервис команду установки/удаления пары "ключ-значение"
- сервис уведомляет всех остальных клиентов (что-то типа широковещательной трансляции)
это еще худо-бедно реализуемо с помощью "SET key... + PUBLISH key", а клиенты соответственно получив сообщение с ключем его могут запросить... а дальше то, что я не смог докурить на базе редиса

- клиенты при чтении пары должны знать не только ее значение, но и назначенное время жизни + время истечения
- некоторые устанавливаемые пары имеют время жизни, сервис сам отслеживает когда пара должна удалиться, удаляет ее у себя и рассылает САМ сообщение об этом всем клиентам

Возможно ли все-таки это сделать на базе редиски или может есть альтернатива с нужным мне функционалом?
  • Вопрос задан
  • 1437 просмотров
Решения вопроса 1
@zuart Автор вопроса
... уже и не знаю, нуп, похоже ...
В общем пришлось оптимизировать свой велосипед, но связать его с редисом как с дублирующим хранилищем...
В процессе работы "велосипед" дублирует все операции по созданию/удалению записей в редис, а в случае падения или рестарта, он из редиса загружает сначала весь "дамп данных" с учетом поступающих изменений в процессе инициализации из редиса.
Стало поустойчивее и нагрузку поболее держит без риска потери быстрых данных. Скорее всего, это инвалид на костылях, но узким местом сейчас стал только сетевой интерфейс и канал до клиентов, если клиент слишком много хочет читать реалтайм, то канал к этому клиенту должен быть настолько толстым, чтобы данные прокачивались без потерь и задержек, иначе пока данные дойдут, могут стать просто неактуальными =)

Всем спасибо за поддержку и подсказки!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
yellow79
@yellow79
Senior Software Engineer
автоматической публикации сообщения при удалении ключа нет, всё остальное есть и описано в мануалах и доках
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы