Кэширование обновления данных временных рядов - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь использовать Redis для кэширования данных временных рядов 270 акций. Каждые 2 или 3 секунды я получаю массив изменений акций (сделок), которые только что произошли. Я хочу сохранить эти данные в Redis, поэтому в настоящее время я пытаюсь найти лучший (и наиболее эффективный) способ сделать это.

Сначала я рассмотрел 270 списков в redis, где каждый список - это одна из акций, которую можно обновить, и при любом обновлении я добавляю объект в соответствующий список. Это имеет 2 основные проблемы, скажем, в одном из обновлений есть 10 различных акций, которые только что изменились, это означает, что мне придется общаться с Redis 10 раз. Другая проблема - поиск, если я хочу получить данные обо всех акциях, то мне придется общаться с redis 270 раз.

Другой подход заключается в том, чтобы иметь только один хеш, который отображается на объект JSON с 270 ключами, и каждое значение в объекте будет массивом обновлений.

В настоящее время я предпочитаю второй подход, но мне интересно, может ли быть что-то еще, что я могу сделать, может быть лучше, чем эти подходы?

1 Ответ

0 голосов
/ 04 ноября 2018

Зависит от количества запросов в секунду (количество запросов в секунду).

Если оно очень высокое, у второго решения есть проблемы, оно не масштабируется; Несколько серверов будут запрашивать один и тот же ключ последовательно (потому что один поток redis). Может быть, вы можете попробовать задачу таймера, которая периодически извлекает данные в локальный кеш.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...