English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Redis 정렬된 집합(sorted set)

Redis는 순서집합과 마찬가지로 string 유형 요소의 집합이며 중복된 구성원을 허용하지 않습니다.

다른 점은 각 요소가 double 타입의 점수와 연결됩니다. Redis는 점수를 통해 집합의 구성원을 소수점에서 큰 순으로 정렬합니다.

정렬된 집합의 구성원은 유일하지만 점수(score)는 중복될 수 있습니다.

. 집합은 해시 테이블을 통해 구현되었기 때문에 추가, 제거, 검색의 복잡도는 O(1) 232 - 1 (4294967295, 각 집합은 저장할 수 있습니다40개 이상의 백억 개의 구성원이 있습니다).

온라인 예제

redis 127.0.0.1:6379> ZADD w3codeboxkey 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD w3codeboxkey 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD w3codeboxkey 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD w3codeboxkey 3 mysql
(integer) 0
redis 127.0.0.1:6379> ZADD w3codeboxkey 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE w3codeboxkey 0 10 WITHSCORES
1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"

위 예제에서는 명령을 통해 ZADD Redis 정렬된 집합에 세 가지 값이 추가되었으며 점수와 연결되었습니다.

Redis 정렬된 집합 명령

아래 표는 Redis 정렬된 집합의 기본 명령을 나열합니다:

순번명령 및 설명
1ZADD key score1 member1 [score2 member2]
정렬된 집합에 하나 또는 여러 구성원을 추가하거나 기존 구성원의 점수를 업데이트합니다
2ZCARD key
정렬된 집합의 구성원 수를 가져옵니다
3ZCOUNT key min max
정렬된 집합에서 지정된 범위 점수의 구성원 수를 계산합니다
4ZINCRBY key increment member
정렬된 집합에서 지정된 구성원의 점수에 증가량 increment을 더합니다
5ZINTERSTORE destination numkeys key [key ...]
주어진 하나 또는 여러 정렬된 집합의 교집합을 계산하고 결과 집합을 새로운 정렬된 집합 destination에 저장합니다
6ZLEXCOUNT key min max
정렬된 집합에서 지정된 딕셔너리 범위 내 구성원 수를 계산합니다
7ZRANGE key start stop [WITHSCORES]
인덱스 범위를 통해 정렬된 집합에서 지정된 범위 내 구성원을 반환합니다
8ZRANGEBYLEX key min max [LIMIT offset count]
딕셔너리 범위를 통해 정렬된 집합 구성원을 반환합니다
9ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
점수를 통해 정렬된 집합에서 지정된 범위 내 구성원을 반환합니다
10ZRANK key member
정렬된 집합에서 지정된 구성원의 인덱스를 반환합니다
11ZREM 키 멤버 [멤버 ...]
정렬된 집합에서 하나 이상의 멤버를 제거합니다
12ZREMRANGEBYLEX 키 최소 최대
정렬된 집합에서 주어진 딕셔너리 범위의 모든 멤버를 제거합니다
13ZREMRANGEBYRANK 키 시작 종료
정렬된 집합에서 주어진 순위 범위의 모든 멤버를 제거합니다
14ZREMRANGEBYSCORE 키 최소 최대
정렬된 집합에서 주어진 점수 범위의 모든 멤버를 제거합니다
15ZREVRANGE 키 시작 종료 [WITHSCORES]
정렬된 집합에서 지정된 범위의 멤버를 반환하고, 인덱스를 통해 점수가 높은 순으로 정렬합니다
16ZREVRANGEBYSCORE 키 최대 최소 [WITHSCORES]
정렬된 집합에서 지정된 점수 범위의 멤버를 반환하고, 점수가 높은 순으로 정렬합니다
17ZREVRANK 키 멤버
정렬된 집합에서 지정된 멤버의 순위를 반환합니다. 정렬된 집합의 멤버는 점수 값으로 내림차순(큰 숫자에서 작은 숫자로)으로 정렬됩니다
18ZSCORE 키 멤버
정렬된 집합에서 멤버의 점수 값을 반환합니다
19ZUNIONSTORE 대상 키 개수 키 [키 ...]
주어진 하나 이상의 정렬된 집합의 합집합을 계산하고 새로운 키에 저장합니다
20ZSCAN 키 커서 [MATCH 패턴] [COUNT 개수]
정렬된 집합의 요소(요소 멤버와 요소 점수를 포함하여)를 반복적으로 순회합니다