>데이터 베이스 >Redis >Redis 다차원 순위 지정 아이디어 공유

Redis 다차원 순위 지정 아이디어 공유

藏色散人
藏色散人앞으로
2023-04-21 16:01:381306검색

이 기사는 주로 Redis 다차원 순위에 대한 아이디어를 여러분과 공유합니다. 관심 있는 친구들은 아래에서 이 내용을 살펴볼 수 있습니다.

Redis 다차원 순위 지정 아이디어 공유

문제 설명

  1. redis zset은 순위에 자주 사용되며 즉시 사용할 수 있다는 것은 잘 알려져 있지만, 1차원 순위만 지원한다는 단점이 있습니다. .

  2. 실제 프로젝트에서 1차원 순위는 실제로 매우 비실용적입니다. 간단한 예는 걷기 순위입니다. 제품 요구 사항은 정렬 우선순위가 왼쪽부터입니다. 오른쪽으로.

  3. 저의 해결책은 모든 차원을 숫자로 변환한 다음 이 차원에 숫자를 추가하여 다차원 순위를 해결할 수 있도록 하는 것입니다.

구체적인 솔루션 아이디어

  1. 단계 수: 원래 숫자이므로 무시해도 됩니다.

  2. 완료 시간: 일반적으로 완료 시간은 타임스탬프를 저장하며, 타임스탬프가 늦을수록 완료율이 높아집니다. 이를 위해서는 완료 시간이 빠를수록 순위가 높아지고, 완료 시간이 빠를수록 값이 커집니다. 더 큰 타임스탬프에서 사용자 완료 시간의 타임스탬프를 뺄 수 있으므로 완료 시간이 빠를수록 값이 더 커집니다.
  3. 개인 이름: 사람의 이름은 일반적으로 한자 또는 문자로 구성됩니다. 한자와 문자는 모두 문자열입니다. 정렬하려면 먼저 문자열을 숫자로 변환하는 것이 좋습니다. PHP의 기본 기능인 mb_ord을 사용하세요.

  4. 예를 들어 사용자의 걸음 수는 10,000이고, 완료 시간(계산 후)은 100,000(임의로 작성된 타임스탬프)이며, 사람의 이름은(계산 후) 500입니다. 무작위로 작성됨), 10000.100500(단계 수, 완료 시간 및 사람 이름을 더한 값) 값을 얻을 수 있습니다.
  5. 실제 값을 구하는 과정에서 소수점 이하의 숫자는 순위에만 사용됩니다.

    추천 학습: "Redis 비디오 튜토리얼"

위 내용은 Redis 다차원 순위 지정 아이디어 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제