이것은 이론적 인 질문 일 수 있지만 실용적인 답변을 찾고 있습니다.Redis의 정렬 된 집합은 눈금이 맞습니까?
계산 된 값을 기준으로 데이터베이스의 모델 순위를 저장하려면 Redis's Sorted Sets을 사용할 계획입니다. 현재 내 데이터 세트는 작습니다 (250 명의 회원). 정렬 된 세트가 5,000 명의 멤버 이상으로 확장 될지 궁금합니다. Redis는 1GB 최대 값을 요구하고 나의 값은 모델의 ID이므로 정렬 된 값의 확장성에 대해서는별로 신경 쓰지 않습니다.
ZRANGE은 O (log (N) + M)의 시간 복잡도를 갖는다. 세트에서 상위 5 위 항목을 가장 자주 얻으려고하면 N 세트 항목의 로그 (N)가 문제가 될 수 있습니다.
또한 O (N * K) + O (M * log (M))의 시간 복잡도를 갖는 ZINTERSTORE을 사용할 계획입니다. ZINTERSTORE를 자주 사용하고 ZRANGE를 사용하여 결과를 검색 할 계획입니다. 0 -1
제 질문은 두 가지로 생각됩니다.
- Redis는 저울을 5,000 명의 회원에게 문제없이 정렬하도록 정렬합니까? 10,000? 50,000?
- ZRANGE와 ZINTERSTORE (ZRANGE와 함께)가 큰 세트에 적용될 때 성능 문제를 나타내 기 시작합니까?