sort
SORT
Redis Developer Course | 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 |
위 Example를 Hash, List, Zset을 이용해서 Example를 만들었다.
명령문
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
답글이 올라오면 이메일로 알려드리겠습니다.