Почему Redis использует целые числа базы данных вместо строк? Похоже, было бы тривиально сохранить небольшую внутреннюю структуру данных, которая отображает строки в "фактическое" целое число.
Почему Redis использует целые номера базы данных?
Ответ 1
причина, по которой Redis не использует строки в качестве имен БД, но индексы заключаются в том, что цель и способность баз данных Redis не предоставлять внешний уровень словаря: словари Redis не могут масштабироваться во многих словарях, но только для небольшого (это компромисс), и мы не хотим создавать вложенные структуры данных для каждого проекта, поэтому это всего лишь "несколько пространств имен", и в результате использование числового малого индекса показалось лучшим вариантом.
Ответ 2
Именованные базы данных не соответствуют целям дизайна redis. Для начала, в системе, предназначенной для максимальной производительности, добавление поиска строк для каждого вызова не является отличной идеей, когда большинство пользователей ставят все в DB 0 в любом случае.
Еще одна цель проекта - сохранить простую основу. Если запрошенная новая команда может быть реализована путем объединения существующих команд на клиенте без огромного штрафа за производительность, она не будет добавлена в основную систему. Если вам действительно нужны именованные базы данных, тривиально обновить код клиента, прочитав строку, и отправьте номер на redis.