Redis 질서 있 는 집합 형식의 상용 명령 소결
질서 있 는 집합 유형 은 이름 에서 알 수 있 을 것 이다.사실은 집합 유형 에 질서 가 있 을 뿐이다.Redis 의 질서 있 는 집합 유형 은 실제 적 으로 집합 유형 에서 모든 요소 에 하나의 점 수 를 연결 하 는 것 이다.질서 있 는 것 은 실제 적 으로 점수 가 질서 가 있다 는 것 이다.우 리 는 점수 의 범위 에 따라 집합 과 다른 조작 을 얻 을 수 있다.집합 한 원 소 는 여전히 같 을 수 없 지만 점 수 는 같 을 수 있다.
다음은 질서 있 는 집합 과 유형 과 목록 형식의 유사 점 을 열거 합 니 다.
① 둘 다 질서 가 있다(쓸데없는 소리!)
② 둘 다 특정한 범위 의 요 소 를 얻 을 수 있다.
다음은 차이 점 을 열거 합 니 다.
① 목록 은 링크 로 이 루어 진 것 으로 양쪽 에 가 까 운 데 이 터 는 읽 는 속도 가 빠 르 고 요소 가 너무 많 으 면 중간 요 소 를 얻 는 속도 가 느리다.질서 있 는 집합 형식 에 사용 되 는 산 목록 과 도약 표(Skip list)가 이 루어 지기 때문에 어느 부분의 데 이 터 를 읽 어도 차이 가 많 지 않 습 니 다(시간 복잡 도 는 O(logN).
② 목록 에서 요소 의 위 치 를 간단하게 조정 할 수 없 지만 질서 있 게 집합 하면(점수 변경 을 통 해)가능 합 니 다.
③ 질서 있 는 집합 비 목록 비 메모리(점수,해시,도약 표 저장).
2.Redis 질서 있 게 집합 하 는 상용 명령
Redis 질서 있 게 집합 하 는 상용 명령 은
zadd,zrange,zremrangebyrank,zremrangebyscore,zcard등 이 있 는데 모두 사용 빈도 가 비교적 높 고 일부 매개 변수 에 대한 설명 등 이 있다.어디 보 자.같이 보 자.1.ZADD 명령
하나 이상
member 요소 와score 값 을 질서 있 는 집합key 에 추가 합 니 다.만약 에 어떤
member 이 질서 있 는 집합 구성원 이 라면 이member 의score 값 을 업데이트 하고 이member 요 소 를 다시 삽입 함으로써 이member 가 정확 한 위치 에 있 음 을 확보한다.score 값 은 정수 나 이중 정밀도 부동 소수점 일 수 있다.먼저
zadd명령 으로 일부 요 소 를 질서 있 는 집합 에 대량으로 추가 하고 뒤의 작업 은 모두 이 집합 을 바탕 으로 진행 된다.
127.0.0.1:6379> zadd myzadd 1 a 2 b 3 c 4 d 5 e 6 f 7 d 8 e 9 f 10 tanteng.me
(integer) 7그림 에서 보 듯 이:
질서 있 게 집합 하 는 가장 특별한 점 은
score이다.점수 가 있 으 면 많은 일 을 할 수 있다.이score는 점수 로 이해 할 수 있 을 뿐만 아니 라 시간 스탬프 나 ip 의 성형 형식 도 저장 하여 유연 하 게 활용 할 수 있다.2,ZRANGE 명령
문법:
ZRANGE key start stop [WITHSCORES]zrange명령 은 질서 있 는 집합 에서 주어진 구간 의 요 소 를 되 돌려 주 는 데 사 용 됩 니 다.start 는 0 부터 시작 하고 stop 은 끝 에 표 시 됩 니 다.마이너스 라면 꼴찌 부터 시작 합 니 다.-1 꼴찌 첫 번 째,-2 꼴찌 두 번 째...아래 의 조작 을 보면 일목요연 하 다.
127.0.0.1:6379> zrange myzadd 0 1
1) "a"
2) "b"
127.0.0.1:6379> zrange myzadd 0 5
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
127.0.0.1:6379> zrange myzadd 1 5
1) "b"
2) "c"
3) "d"
4) "e"
5) "f"
127.0.0.1:6379> zrange myzadd 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
7) "tanteng.me"더하기WITHSCORES매개 변수 표시 값:
127.0.0.1:6379> zrange myzadd 0 -1 WITHSCORES
1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"
7) "d"
8) "7"
9) "e"
10) "8"
11) "f"
12) "9"
13) "tanteng.me"
14) "10"3.ZREMRANGEBYRANK 명령문법:
ZREMRANGEBYRANK key start stop순위(rank)구간 의 모든 구성원 을 질서 있 게 집중 적 으로 지정 합 니 다.start 는 0 부터 stop 은 마이너스 로 몇 위 를 뒤 집 을 수 있 음 을 나타 낸다.
127.0.0.1:6379> zremrangebyrank myzadd 0 2
(integer) 3이 명령 을 실행 하면 앞의 세 요소 a,b,c 를 삭제 합 니 다.4.ZREMRANGEBYSCORE 명령
문법:
ZREMRANGEBYSCORE key min max질서 집합key 에서 모든 score 값 은 min 과 max 사이(min 또는 max 포함)의 구성원 을 제거 합 니 다.
127.0.0.1:6379> zremrangebyscore myzadd 7 8
(integer) 2이렇게 되면 분 가 를 7 과 8 의 원소 d 로 하고 e 를 제외한다.ZREMRANGEBYRANK와ZREMRANGEBYSCORE는 글자 적 으로 잘 이해 되 고 모두 요 소 를 제거 하 며 하 나 는 아래 표 에 따라 하 나 는 점수 에 따른다.5.ZCARD 명령
문법:
ZCARD key질서 있 는 집합 기 수 를 되 돌려 줍 니 다.
127.0.0.1:6379> zcard myzadd
(integer) 2앞의 원소 삭제 작업 을 통 해 이 제 는 두 개의 원소 만 남 았 다.6.ZCOUNT 명령
문법:
ZCOUNT key min maxZCOUNT명령 과ZCARD명령 의 차이 점 은ZCOUNT범위 에 따라 요소 개 수 를 되 돌려 주 는 것 을 지원 합 니 다.집합 요소 가 거의 삭제 되 지 않 았 기 때문에 요 소 를 다시 추가 합 니 다.
127.0.0.1:6379> zadd new 100 www.baidu.com 900 www.tanteng.me 12 www.yahoo.com 90 www.xunlei.com 88 www.juanpi.com
(integer) 5그림 에서 보 듯 이:
현재 80 과 100 사이 의 구성원 수 를 되 돌려 줍 니 다.
127.0.0.1:6379> zcount new 80 100
(integer) 3세 개 를 되돌리다.Redis 에 인자 inf 가 있 습 니 다.-inf 는 첫 번 째 멤버 를 표시 하고+inf 는 마지막 을 표시 합 니 다.
127.0.0.1:6379> zcount new 80 +inf
(integer) 4여기 서 4 개 수량 을 되 돌려 줍 니 다.+inf 는 최고 점 수 를 제한 하지 않 는 다 는 뜻 입 니 다.총결산
이상 은 레 디 스 의 질서정연 한 집합 유형 에 관 한 자주 사용 되 는 명령 의 모든 내용 입 니 다.글 은 상세 하 게 정리 되 었 습 니 다.여러분 의 학습 이나 업무 에 편리 함 을 가 져 다 주 셨 으 면 합 니 다.궁금 하신 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redis 해시에 대한 완벽한 가이드변경 가능하므로 필요에 따라 쉽게 변경하고 업데이트할 수 있습니다. Redis 해시는 구조가 평평하므로 JSON에서와 같이 여러 수준을 가질 수 없습니다. redis 해시의 명명 규칙은 hash:key 로 입력되므로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.