Почему Redis использует целые номера базы данных? - PullRequest
38 голосов
/ 08 июля 2011

Почему Redis использует целые номера базы данных вместо строк?Кажется, что было бы тривиально сохранить небольшую внутреннюю структуру данных, которая отображает строки в «фактическое» целое число.

Ответы [ 2 ]

44 голосов
/ 18 июля 2011

причина, по которой Redis не использует строки в качестве имен БД, а индексов, заключается в том, что цель и способность баз данных Redis не заключается в обеспечении внешнего уровня словаря: словари Redis могут масштабироваться не для многих словарей, а только для небольшихчисло (это компромисс), и мы не хотим предоставлять вложенные структуры данных для каждого проекта, так что это всего лишь «несколько пространств имен», и в результате использование числового небольшого индекса представляется наилучшим вариантом.

6 голосов
/ 08 июля 2011

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

Еще одна цель разработки - сделать ядро ​​простым. Если запрошенная новая команда может быть реализована путем объединения существующих команд на клиенте без значительного снижения производительности, она не будет добавлена ​​в основную систему. Если вам действительно нужны именованные базы данных, тривиально обновить код своего клиента, прочитать строку и отправить число в redis.

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