Данные Redis Timeseries - миллионы записей в наборе хешей и сортировки

Я пытаюсь использовать redis в качестве таймсерий, и для этого я использую Sorted sets и Hash. Хэш будет хранить мой объект домена, и отсортированный набор будет иметь ссылку на него со счетом как время. Поскольку я получаю записи в миллисекундах и имею пропускную способность около 300 КБ / сек, как лучше всего записать их быстрее в Redis? Со стороны записи у меня есть два запроса ниже:

repository.save (данные); // для хранения объекта данных в хэше с использованием репозитория весенних данных redis redisTemplate.opsForZSet (). add (key, memberValue, data.getSourceTime ()); // создание отсортированного набора для хеш-ссылки в качестве отметки времени в качестве члена.

Я ищу более быстрый способ хранить эти данные.


person Priya Tanwar    schedule 26.02.2020    source источник
comment
Вы смотрели потоки Redis?   -  person LeoMurillo    schedule 28.02.2020


Ответы (1)


Помимо классических sortedsets + hashes, есть два варианта: Streams и RedisTimeSeries.

RedisTimeSeries. Если ваши данные числовые (например, данные датчика, такие как температура), вы можете сохранить серию внутри ключа без каких-либо дополнительных действий. Дополнительные возможности:

  • Встроенное сжатие для экономии места
  • Автоматическая даунсэмплинг
  • Запрос по меткам нескольких ключей

https://github.com/RedisTimeSeries/RedisTimeSeries/

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

Оба поддерживают ограничение и ранжированный запрос.

https://github.com/RedisTimeSeries/RedisTimeSeries/

Раскрытие информации: я инициировал проект RedisTimeSeries в Redislabs.

person Danni    schedule 01.03.2020
comment
Я не могу использовать вышеуказанные решения. Мне нужен лучший способ с Redis без использования таймсерий и потоков. - person Priya Tanwar; 03.03.2020
comment
Вы можете объяснить, почему вы не можете использовать эти параметры? Какие у вас ограничения? - person Ariel; 04.03.2020