Пакет сообщений с Redis, где размер данных не велик - PullRequest
0 голосов
/ 30 апреля 2018

Redis - это хранилище структуры данных, но все же рекомендуется использовать пакет сообщений (или protobuf) для сериализации / десериализации данных. Я вроде как путаюсь с Messagepack поверх Redis, если порции данных, записанные в Redis, не очень большие .

Поскольку Messagepack потребуется упаковывать и распаковывать данные в соответствии со своим собственным протоколом, и наверняка это повлечет за собой определенные затраты, а упакованные данные будут храниться только как «строковый» тип данных в Redis.

Чтобы использовать Redis как сервер структуры данных, можно записать тонкий слой для чтения / записи непосредственно в / из структуры данных Redis, скажем, между C ++ и Python, тогда где именно вписываются пакеты сообщений?

Может кто-нибудь пролить свет на пакет сообщений в контексте redis?

С уважением,
Рахул

Отказ от ответственности - не оскорбляйте возможности Messagepack, я знаю, что это действительно круто: -)

1 Ответ

0 голосов
/ 30 апреля 2018

Единого ответа нет, но я могу предложить несколько рекомендаций.

  • Базовым типом данных Redis является строка - она ​​бинарно-безопасна и может содержать до 0,5 ГБ (вероятно, больше в следующей версии).
  • Имена ключей являются строками, но вы обычно хотите: а) держать их короткими и б) они являются единственным способом доступа к вашим данным, который, мы надеемся, легко читаем и восстанавливаем.
  • Значения могут быть строками. Если полезная нагрузка уже является строкой - не нужно сериализовать / десериализовать, просто сохраните как есть. Типичный пример: файлы jpg или png.
  • Если ваше приложение уже использует msgpack (или json, protobuff или ...), вы можете сохранить сериализованную форму.
  • В Redis 'Lua есть встроенные библиотеки для работы с json и msgpack.
  • Существуют модули (например, http://rejson.io), которые могут расширить это.

Надеюсь, это поможет.

Отказ от ответственности: автор упомянутого модуля, Redis geek и имеет черный пояс, работающий с Lua Redis;)

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