2013-09-22 3 views
0

데이터 구조를 가장 효율적으로 redis로 저장하고 검색하는 방법. 레코드는 사용자 이름 값에 의해 액세스되며 고유 할 것이며 데이터에 의해 날짜카운터 값이 필요합니다.redis에서 정렬 가능한 데이터 구조를 사용하는 방법

redis data structure

또한, 레디 스이 시나리오에 대한 최선의 선택 (성능이 모든 것을 통해 여기에 우선합니다)입니다.

+2

성능이 모든 것보다 우선 순위가 높으면 PHP를 사용하지 않아야합니다. – Oswald

+0

@Oswald 다른 대안을 제안합니까? – Stacked

답변

0

정렬 된 항목은 score 값을 기준으로 자동으로 항목을 정렬합니다.이 값은 배정 밀도 부동 소수점 수에 대한 문자열 기반 값이 될 수 있습니다. SORT 명령을 사용하여 목록 및 세트를 즉시 정렬 할 수도 있습니다.

ZADD uniqueName 13733654484 stringData1 197625203673 stringData2 

을 또는 당신은 카운터에 의해 정렬 할 수 있습니다 :

다시 분류 세트로 돌아가서, 당신은 긴 타임 스탬프를 사용하여 날짜별로 정렬 할 수 있습니다

ZADD uniqueName 100 stringData1 101 stringData2 

그것을 할 수있는 한 가지 방법이다 그.

+0

SORT는 주문형 정렬을 수행합니다. 그것은 데이터 구조 내에 내장 된 자연 정렬이 아닙니다. 그러나 공정한만큼, 나는 나의 대답을 업데이트했다. 어떻게 두 값을 정렬 할 수 있습니까? 예제를 보여줄 수 있습니까? – raffian

+1

SORT 명령을 사용하지 않았지만 대신 ZINTERSTORE를 사용했습니다. zinterstore tmp 2 nameByCounter WEIGHTS 1 2. 이렇게하면 카운터 및 날짜별로 데이터를 정렬 할 수 있습니다 (가중치 사용). 오, 점수가 ZADD에서 먼저 나와야한다는 것을 잊지 마십시오. 예 : ZADD 고유 이름 13733654484 stringData1 197625203673 stringData2. – FGRibreau

관련 문제