Типы Redis и их плюсы и минусы - PullRequest
2 голосов
/ 13 октября 2011

Я понимаю, что Redis списки, наборы и хэши

каковы плюсы / минусы каждого типа и пример того, где будет набор используется над списком или хешем над множеством и т. д.

1 Ответ

4 голосов
/ 13 октября 2011

Главное, о чем вы хотите подумать, это о том, какие операции вы будете просить об этом ... Это больше, чем производительность.Потому что, если операция недоступна, она просто не будет работать.

Прежде всего, посмотрите на документацию Команды Redis и убедитесь, что набор доступных команд доступен длявы.Большая часть рассуждений, которые я здесь использую, одинакова и в программировании общего назначения.Например, почему вы используете словарь против списка в Python.Документация по командам Redis обычно имеет обозначение Big-O для операций.Большинство отдельных поисков, вставок и т. Д. O(1), поэтому между типами нет большой разницы.Я также не нашел большой разницы с точки зрения места для хранения каждого из них.

Есть много других причин, потому что я довольно общий.Этот пост, вероятно, может быть расширен до главы в книге!Это не простой вопрос.

Хэш: Это для случаев, когда вы хотите получить значения с помощью клавиш.Почти как хранилище значений ключей в хранилище значений ключей.Кроме того, вы можете делать «классовые» вещи, имея подпараметры по имени (например, с ключами «адрес», «дата рождения», ...)

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

Set: По сути, хэш, но не имеет значения.Это для того, когда вы хотите знать, "это вещь в наборе или нет?"Наборы, в отличие от списков, требуют постоянного времени, чтобы выяснить, является ли что-то членом.Также, в отличие от списков, предметы в наборе уникальны.С наборами вы также можете делать пересечения и другие вещи.Это не то, что вы можете сделать с хэшами.Например, вы хотите найти всех пользователей, которые купили вещи в вашем офисе в Италии (один комплект), и всех пользователей, которые купили вещи в вашем офисе во Франции (другой набор), выполнив union .

Сортированные наборы : Подобен набору, но имеет дополнительные параметры, включающие поиск диапазонов или рангов предметов.

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