Итак, у меня есть следующее требование, и я хочу получить опытный совет по рассмотрению Redis как хранилища данных.
Сегодня существует несколько категорий данных, которые поступают на наш сервер сообщений.Эти данные по существу являются сериализованными наборами данных .NET.Мы десериализуем их в нашем бэкэнде и затем обрабатываем их в нашей базе данных.Теперь, поскольку мы используем оракул для нашего бэкэнда и тот факт, что многие другие пользователи используют этот экземпляр БД, мы ограничены соединениями с базой данных.Это приводит к очень низкому уровню потребления наших сообщений.
Я рассматриваю возможность записи данных из очереди сообщений в один или несколько экземпляров Redis.Затем наши бэкэнд-сервисы могут читать их из Redis и работать со скоростью, не перегруженной.Учитывая это, я пытаюсь выяснить, как сохранить набор данных serialized.net в экземпляре redis.
Я думаю, что структура выглядит примерно так:
Набор с ключом, обозначающимкатегория данных.Значением будет список сериализованных наборов данных.Мой потребительский код пройдет через категорию, вытащит элементы из списка и удалит их из списка, как только он будет перенаправлен на следующий сервис.
Может кто-нибудь посоветовать мне, в каком формате наборы данных должны быть сохранены как?Я могу сериализовать набор данных в JSON и сохранить их как строки, я думаю.Но я не хочу этого делать, потому что хочу избежать проблем с типом данных, возникающих в результате перехода на JSON.