SORT

레디스 개발자 교육 신청 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

Data를 sort하여 조회

간단한 사용법은 sort key 이다.
여기서 key로 쓸수있는 data type은 list, set, sorted set이다.
data(member)를 sort해서 볼 수 없었던 set에 data를 넣어서 sort해 보자.

Example

명령>sadd myurl Google.com Facebook.com Youtube.com Yahoo.com Baidu.com
결과>5
명령>sort myurl alpha   sort할 대상이 숫자가 아닐경우 alpha 사용  
결과> 0) Baidu.com
1) Facebook.com
2) Google.com
3) Yahoo.com
4) Youtube.com
명령>sort myurl alpha desc   역순으로 sort할 경우 desc 사용  
결과> 0) Youtube.com
1) Yahoo.com
2) Google.com
3) Facebook.com
4) Baidu.com


limit 옵션 사용

limit offset count

Example

명령>sort myurl alpha limit 0 3
결과> 0) Baidu.com
1) Facebook.com
2) Google.com
명령>sort myurl alpha limit 3 10
결과> 0) Yahoo.com
1) Youtube.com


get 옵션 사용

다른 key의 value를 조회할 경우 get 사용
예를 들어, myurl 의 Google.com 과 rank-Google.com 을 비교하여 rank-Google.com의 value를 조회할 경우 get rank-* 를 사용한다.
관계형 데이터베이스의 join으로 생각하면 된다.
준비 data로 web site 순위를 입력

Example

명령>mset rank-Google.com 1 rank-Facebook.com 2 rank-Youtube.com 3 rank-Yahoo.com 4 rank-Baidu.com 5
결과>OK
명령>sort myurl get rank-* alpha
결과> 0) 5
1) 2
2) 1
3) 4
4) 3

애니메이션 보기



get # 옵션 사용

sort하는 자신을 보여줄 경우에는 get의 특별한 용법 get # 을 사용한다.

Example

명령>sort myurl get # get rank-* alpha
결과> 0) Baidu.com
1) 5
2) Facebook.com
3) 2
4) Google.com
5) 1
6) Yahoo.com
7) 4
8) Youtube.com
9) 3

애니메이션 보기



by 옵션 사용

지정한 key의 value로 sort한다.
rank-* 의 value로 sort 한다.

Example

명령>sort myurl by rank-* get # get rank-* alpha
결과> 0) Google.com
1) 1
2) Facebook.com
3) 2
4) Youtube.com
5) 3
6) Yahoo.com
7) 4
8) Baidu.com
9) 5

애니메이션 보기



2개 이상의 field 조회

get을 이용해서 2개 이상의 field를 조회해 보자.
준비 data로 Daily Pageviews per Visitor를 입력하자

Example

명령>mset pv-Google.com 19.60 pv-Facebook.com 11.62 pv-Youtube.com 4.58
pv-Yahoo.com 7.44 pv-Baidu.com 8.87
결과>OK
명령>sort myurl by pv-* get # get pv-* get rank-* desc
결과> 0) Google.com
1) 19.60
2) 1
3) Facebook.com
4) 11.62
5) 2
6) Baidu.com
7) 8.87
8) 5
9) Yahoo.com
10) 7.44
11) 4
12) Youtube.com
13) 4.58
14) 3




명령문

SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]

  • 이 명령은 version 1.0.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(N+M*log(M))이다.
관련 명령 SCAN
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

<< SCAN SORT SORT hash >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.