키의 고유 사용자 이름을 사용하는 것보다 사용자 ID를 사용하면 어떤 이점이 있는지 궁금합니다.Redis의 키 사용자 이름 또는 ID
- 사용자 : USERNAME => {암호 : HASH, 연령 : 45}
- 사용자 : 0 => {사용자 이름 : 사용자 이름, 암호 : HASH, 연령 : 45}
참고 I 이름으로 사용자를 조회하기를 원하므로 사용자 이름을 ID와 관련시키기 위해 두 번째 키 - 값 세트가 필요합니다.
모든 사용자 이름이 고유하고 영숫자 여야한다는 점을 감안할 때 ID 시스템을 사용하는 것이 유익 할 수있는 특별한 이유가 있습니다.
제가 주로 묻는 이유는 데이터베이스가 특정 방식으로 표준화되었을 때 데이터베이스에서 조회 시간이 줄어들어 주로 ID를 사용했기 때문입니다. 하지만 Redis는 이러한 이점을 얻지 못했고 사용자 이름 대신 사용자 ID를 사용해야하는 다른 이유가 있는지 궁금했습니다. 어떤 도움
감사합니다,
Pluckerpluck
추신 Redis가 해시를 처리하는 방식으로 인해 두 가지 방법의 메모리 차이에 대해 실제로 확신 할 수 없으므로이 정보는 나중에 테스트하고 나올 수도 있지만 좋을 수 있습니다.
해당 시나리오를 지적 해 주셔서 감사합니다. 그냥 간단한 질문 : ID를 사용한다면. 그런 다음 사용자 이름을 검색 할 수 있도록 username-id 관계가 필요합니다. 정렬 된 집합 (ID가되는 순위)이이를 수행하는 좋은 방법이라고 생각하십니까? 아니면 해시 대신? – Pluckerpluck
해시는 다음 두 가지 이유로 더 좋습니다. a) 정렬 된 집합보다 적은 메모리를 사용합니다. b) 사용자의 순서가 정의되어 있지 않으므로 개념적으로 정렬 된 집합을 사용하는 것이 적합하지 않습니다. –
사용자 이름을 색인화하기 위해 해시를 사용합니다. 그들은 메모리에서 zset보다 훨씬 더 작습니다. zset을 사용하면 이름에 대한 범위 쿼리를 지원해야하는 경우에만 유용 할 것입니다 ... –