2016-08-22 2 views
0

Я знаю, что redis - это другая архитектура от mongodb. От чтения других сообщений здесь и на других сайтах, похоже, что redis хорош для сценариев, в которых у вас не так много данных ... Монго, похоже, блистает при работе с очень большими объемами данных. Я также знаю, что Монго не имеет схемы.redis vs mongo - репликация от ведущего к ведомым, которые работают в базах памяти

Мне нужно построить решение, которое позволит мне:

  • есть база данных «мастер», который будет сохранялся на диск
  • имеет п число «ведомый» databases..that только буду должен быть запущен из ОЗУ
  • Мне нравится, как mongo хранит документы json - не уверен, могу ли я сделать что-то подобное в redis.
  • если какой-либо узел выходит из строя (включая главный узел), остальные участники «просто продолжают работать». Некоторые подчиненные устройства будут работать в некоторых частях сети с очень большими задержками.

В настоящее время я читаю документацию по репликации Mongo и Redis, но не столкнулся ни с чем, что описывает этот конкретный прецедент. Любые идеи были бы оценены.

EDIT 1

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

127.0.0.1:6379> set users:leto '{"name": "leto", "planet": "dune", "likes": ["spice"]}' 
OK 
127.0.0.1:6379> get users:leto 
"{\"name\": \"leto\", \"planet\": \"dune\", \"likes\": [\"spice\"]}" 

Время от времени, мне нужно будет извлекать данные, основанные на значениях ... так что найти всех пользователей, которые имеют «Дюна» установлен как «планеты " стоимость. Возможно ли повторение этого типа в redis?

+0

Я думаю, что эта статья действительно прольет много света для тех, кто рассматривает, как и где использовать redis: http://oldblog.antirez.com/post/take-advantage-of-redis-adding-it-to- your-stack.html – dot

ответ

0

Вы действительно не можете сравнить Redis и MongoDB.

Redis подобен MemCache, но может храниться на диске. Redis хранит примитивные данные, такие как строка, список строк ... не объект. Если вы хотите сохранить объект-хранилище, вы должны сделать это раньше.

Вы не можете запрашивать данные только по ключевому названию.

Если вам не нужны данные persiste на диске, Redis также может это сделать.

Если вам нужен только один мастер, но с репликацией на подчиненном устройстве, а если мастер вниз, используйте подчиненный, вы должны использовать Redis с Sentinel.

Чтобы помочь вам, мне нужен тип данных, в котором вы хотите хранить? Можете ли вы поддерживать раздел данных? Вам нужен откат (я думаю, нет)? Что такое размер хранилища данных на узле?

Хороший вариант использования Redis в CQRS. Redis можно использовать для R.

С уважением,

EDIT:

Иногда мне нужно будет извлекать данные, основанные на значениях ...поэтому найти всех пользователей, у которых «дюна» установлена ​​как значение «планета». Возможно ли повторение этого типа в redis?

Нет, вы не можете запросить.

Если у вас есть данные с вставкой, используйте Cassandra.

+0

Я не знал, что вы не можете извлечь данные на основе значения ... См. Редактировать 1 – dot

+0

Спасибо за отзыв re: CQRS. Я прочитал эту статью: http: //martinfowler.com/bliki/CQRS.html ... и после прочтения ... Мне не нужны отдельные модели для чтения/записи данных. Так что, может быть, redis - плохой выбор для меня. – dot

+0

CQRS - всего лишь пример. На самом деле, я использую Redis для хранения формата JSON и на самом деле не очень хороший случай. – bubulemaster

Смежные вопросы