ZADD myset 1 ad1
ZADD myset 1 ad2
SET order:ad1 1
SET order:ad2 2
으로 같은 점수 결과를 설정 주문한?레디 스는 : 그것은 가능한 종류의 다른 키 값 방법 종류의 첫째 명령 세트 점수에 의해 다음 순서 값
ZADD myset 1 ad1
ZADD myset 1 ad2
SET order:ad1 1
SET order:ad2 2
으로 같은 점수 결과를 설정 주문한?레디 스는 : 그것은 가능한 종류의 다른 키 값 방법 종류의 첫째 명령 세트 점수에 의해 다음 순서 값
데이터를 저장하는 방식을 변경하지 않고 결과를 저장하려면 SORT 명령을 사용할 수 있습니다. zset에 적용 할 수 있습니다. 예를 들어
: 당신은 값으로 정렬 할 수 있습니다
> zadd myset 1 albert
> zadd myset 1 joseph
> zadd myset 4 bertrand
> zadd myset 2 casimir
> zadd myset 3 alfred
:
> sort myset alpha
1) "albert"
2) "alfred"
3) "bertrand"
4) "casimir"
5) "joseph"
당신은 점수와 값으로 정렬 할 수의 다음에 새 속성을 추가 할 수 있도록 지금
> zrange myset 0 -1
1) "albert"
2) "joseph"
3) "casimir"
4) "alfred"
5) "bertrand"
객체 :
> set order:albert 5
> set order:alfred 3
> set order:casimir 1
> set order:joseph 4
> set order:bertrand 2
는 당신은 새로운 질서 속성으로 정렬 할 수 있습니다
: 당신이 점수를 기준으로 정렬해야하는 경우 지금
> sort myset by order:*
1) "casimir"
2) "bertrand"
3) "alfred"
4) "joseph"
5) "albert"
이 순서 속성은, 당신은 ZSET 순서 속성을 구체화 논리합을 실현보다 다른 선택의 여지가 order 속성의 점수. ZSET 순서 속성을 추가하는 예를 들어
, 우리가 얻을 :
> del myset
> zadd myset 1 5:albert
> zadd myset 1 4:joseph
> zadd myset 4 2:bertrand
> zadd myset 2 1:casimir
> zadd myset 3 3:alfred
> zrange myset 0 -1
1) "4:joseph"
2) "5:albert"
3) "1:casimir"
4) "3:alfred"
5) "2:bertrand"
주의 :이 경우, 속성 필드가 사전 식 순서에 따라 정렬됩니다, 값이 정상화 할 수 있도록 숫자 순서와 여러 자릿수가 필요한 경우 이를 위해 다양한 트릭이 있습니다. 예를 들어, "1", "12"또는 "123"을 저장하는 대신 숫자의 자릿수를 나타내는 첫 번째 숫자 인 "11", "212"또는 "3123"을 저장할 수 있습니다.
점수와 주문 속성이 모두 변경 될 수있는 경우 매우 편리하지 않으므로 클라이언트 측에서 정렬하여 더 효과적으로 제공 할 수 있습니다. 한쪽 점수로 zset을 검색하고 다른 쪽에서는 해당 주문 값을 검색하여 두 번의 라운드 트립에서 얻을 수 있습니다.
> zrange myset 0 -1 withscores
> sort myset by order:* get order:* get #
클라이언트가 두 가지 결과 (일종의 사전 또는 연관 배열 사용)를 결합하고 최종 결과를 얻기 위해 정렬합니다.