Лучший способ использовать Redis между производителем и потребителями для обновлений в реальном времени.C#

Место общения программистов C#
Ответить
Anonymous
 Лучший способ использовать Redis между производителем и потребителями для обновлений в реальном времени.

Сообщение Anonymous »

Я новичок в использовании Redis, и после прочтения большого количества документации мне нужен ваш совет о том, как правильно это сделать для моих нужд.
Я хочу кэшировать около 30 000 записей (объектов), каждая из которых представляет информацию о проезде автобуса на транспортной остановке.
Каждая запись будет содержать около десяти атрибутов (название остановки, время проезда, тип транспортного средства и т. д.) .
Производитель будет отвечать за подачу кэша по мере его продвижения, обновляя значения в реальном времени (включая время прохождения, если оно изменится).
Потребители затем придут и потреблят кеш, Цель состоит в том, чтобы, если задействован новый потребитель, он извлекал все данные, а затем получал изменения по мере их возникновения.
В конце концов, если потребитель отключается, а затем возвращается, ему нужно будет иметь возможность получить изменения, внесенные с момента его последнего подключения.
Я думаю, что смогу использовать хэш-структуру данных для хранения всех значений:

Код: Выделить всё

HSET bus_stop: name "Stop Name" time "12:00" vehicle "Bus"
Тогда при первом подключении потребитель может использовать СКАНИРОВАНИЕ:

Код: Выделить всё

SCAN 0 MATCH "bus_stop:*" COUNT 1000
Затем выполните цикл, чтобы получить все ключи.
А потом я подумал, что с этого момента я буду использовать потоки STREAM для получения обновлений и, при необходимости, обработки с потерянными соединениями.
Это правильный подход?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... me-updates
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»