Имя пользователя или идентификатор для ключей в Redis

Мне было интересно, в чем преимущества использования идентификаторов пользователей по сравнению с использованием уникальных имен пользователей для ключей.

  • user:USERNAME => {пароль:HASH, age:45}
  • user:0 => {username:USERNAME, password:HASH, age:45}

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

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

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

Спасибо за любую помощь,

Pluckerpluck

p.s. Из-за того, как Redis обрабатывает хэши, я на самом деле не уверен в различиях памяти между двумя методами, поэтому информация об этом может быть полезной, хотя я могу проверить это позже.

7
задан Pluckerpluck 11 April 2012 в 16:21
поделиться