Почему Redis использует целые номера базы данных?

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

Ответ 1

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

Ответ 2

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

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