Могу ли я использовать Redis в качестве единственной базы данных для поддержки небольшого / среднего социального сайта с профилями пользователей? - PullRequest
3 голосов
/ 25 августа 2011

Могу ли я использовать Redis в качестве единственной БД для поддержки малого / среднего социального сайта с профилями пользователей?

Возможно ли это? ... Это была бы хорошая идея?

Должна ли вся информация моего пользователя храниться в одном объекте словаря, а затем извлекать эту информацию по ключу?

FAQ:

В: Почему не MongoDB? Cassandra? CouchDB?

A: Мне нравится Redis за его простоту и удобство использования. Кажется, что все остальные базы данных NoSQL есть чему поучиться. Но я должен использовать правильный инструмент для работы правильно? Да, если вы хорошо владеете многими инструментами, тогда вы можете решить, какой инструмент лучше подходит для конкретной задачи. http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis. У меня нет опыта работы ни с RDBMS, ни с NoSql, поэтому я должен начать где-то правильно.

1 Ответ

3 голосов
/ 25 августа 2011

Redis прекрасно работает в этом сценарии - функциональность набора особенно полезна, когда вам нужно смоделировать соединения между пользователями.

У вас есть три основных варианта хранения профиля пользователя:

  • Один ключ, содержащий сериализованный объект - самый простой, если вам обычно нужны все свойства сразу.
  • Redis-хэш для каждого пользователя с подключом для каждого свойства - популярный подход, хотя не тот, который мне лично нравится
  • Несколько ключей для каждого пользователя - в некоторых случаях менее эффективно, но позволяет использовать сложные структуры данных для значений свойств

Вы также можете использовать комбинацию этих подходов - моя собственная система используетодиночная строка json для основных свойств и дополнительные ключи для свойств, которые лучше реализованы в виде наборов.

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