Как лучше распределять данные в Azure Redis? - PullRequest
0 голосов
/ 05 апреля 2019

Я планирую использовать кэш Redis в своем приложении, и размер данных может варьироваться от 10 КБ до 500 МБ.Если я использую большие записи ключ / значение из Redis, данные Reding и Saving могут вызвать проблемы с производительностью, это означает, что мне придется передавать больше данных по сети с сервера на клиент, и у меня могут быть следующие последствия.

  1. Для передачи данных требуется больше времени, поэтому клиенту может потребоваться настроить более высокое значение тайм-аута, чтобы учесть это дополнительное время передачи.
  2. Запросы к серверу могут застрять за большимпересылать и вызывать тайм-аут других запросов.
  3. Сетевые буферы, используемые для передачи этих данных, могут повлиять на доступную память на клиенте или сервере, что может усугубить проблемы с доступной памятью, описанные при фрагментации.
  4. Если этик элементам большого ключа / значения часто обращаются, это увеличивает последствия, если мы многократно переносим эти данные снова и снова.

Поэтому я хотел бы выполнить разбиение в кэше Redis.

Пример: у меня есть конечная точка (GetEmployees (некоторые вычисления происходят сполучить всех сотрудников)), который возвращает около 500 записей размером 400 МБ (пример).Я получаю те же данные, пока не добавлю нового сотрудника, поэтому я хочу иметь механизм кэширования, чтобы я мог хранить эти записи и получать их из кэша вместо того, чтобы снова и снова выполнять вычисления.

Если я сохраняю все записив единственном осколке Redis, столкнутся с вышеупомянутыми проблемами.

Ключ / Значение: GetEmplyeesTodayDate / {Список записей}

Итак, я хотел бы разделить данные по осколкам и получитьвсе записи при чтении из Redis.

Каков наилучший способ сохранить все 500 записей в Redis с одинаковыми или несколькими ключами и извлечь их?

1 Ответ

0 голосов
/ 25 апреля 2019

Как уже упоминалось в Anurag, вы должны использовать Разделение кеша Redis , но когда разделение используется в сочетании с Кластеризация Redis Cache Azure , вы гарантируете, что с пропускной способностью проблем не будет сам кеш: Как настроить кластеризацию Redis

Те же вопросы задавались на форуме MSDN .

...