일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- vuex
- 상태관리
- aframe
- PDO
- javscript
- version mismatch
- vue-template-compiler
- JS
- CI/CD
- vue
- AR
- web
- VR
- npx
- WebXR
- JavaScript
- Three.js
- WebVR
- EM6
- 3d
- package-lock.json
- bootstrap
- promise
- auth0
- array
- A-Frame
- vuetify
- Component
- PHP
- Node
- Today
- Total
대가는 결과를 만든다
[스터디] Redis Sorted Set 본문
Redis는 5가지의 데이터 타입이 존재 : Strings, Lists, Sets, Sorted sets, Hashes
- Set과 Sorted Set의 차이
1) Key 하나당 n개의 중복되지 않는 값(Member)를 가짐
"Key" "Member"
예) Fruits - apple
- banana
..............
2) Set과 구조는 같으나 각 member는 score를 갖는다. Key - Member - Score형태. Score값으로 오름차순 정렬됨
"Key" "Member" "Score"
예) Fruits - apple - 10
banana - 12
strawberry - 15
*순위(RANK)의 시작은 0위부터 시작
- Example
1) ZADD 'key-name' 'score' 'member' ['score' 'member'.......] //해당 key에 주어진 score와 함께 member를 추가
*이미 존재하는 중복된 멤버는 추가되지 않으며 score도 더해지지 않는다 ZINCRBY를 사용해야 함.
예) ZADD myzset 1 "one"
2) ZREM 'key-name' 'member' //해당 Key에서 주어진 member를 제거
3) ZCARD ZCARD key-name //주어진 Key의 Member의 수 반환
4) ZINCRBY 'key-name' 'increment' 'member' //멤버의 Score를 Increment만큼 증가
*member가 존재하지 않는다면 자동으로 추가하여 score를 적용하고, 이미 존재하는 Member의 Socre에는 주어진 Score를 더함.
5) ZCOUNT 'key-name' 'min' 'max' //주어진 범위안에 있는 score에 해당하는 멤버의 수를 반환
6) ZRANK 'key-name' 'member' //주어진 Member의 Rank를 반환
7) ZSCORE 'key-name' member //주어진 Member의 Socre를 반환
8) ZRANGE 'key-name' start stop [WITHSCORES] //start과 stop사이의 member와 순위를 위한 score를 옵션으로 리턴
9) ZREVRANGE 'key-name' start stop [WITHSCORES] //start과 stop사이의 member와 순위를 위한 score를 내림차순으로 리턴
*즉 점수가 높은 순으로 정렬
참고 : https://redislabs.com/ebook/part-2-core-concepts/chapter-3-commands-in-redis/3-5-sorted-sets/
php redis 명령어 참고 : https://github.com/phpredis/phpredis#sorted-sets