Redis의 Zset은 set의 업그레이드 버전입니다. 이 속성은 요소를 추가하고 수정할 때 지정할 수 있으며, zset는 새 값에 따라 자동으로 순서를 다시 조정합니다. . 두 개의 열이 있는 mysql 테이블을 이해할 수 있습니다. 하나의 열은 값을 저장하고 다른 하나의 열은 순서를 저장합니다. 작업 중 키는 zset의 이름으로 이해됩니다.
정렬 집합(zset)을 사용하면 요소를 매우 빠르게 추가, 삭제 및 업데이트할 수 있습니다(O(log(N))). 삽입 시 요소가 정렬되기 때문에 점수나 위치별로 다양한 요소를 빠르게 얻을 수 있습니다. 정렬된 세트의 중간 요소에 대한 액세스도 매우 빠르므로 중복된 멤버 없이 정렬된 세트를 스마트 목록으로 사용할 수 있습니다. 이 목록에서는 정렬된 요소, 빠른 존재 테스트, 세트의 중간 요소에 대한 빠른 액세스 등 필요한 모든 것에 쉽게 액세스할 수 있습니다! (추천 학습: Redis 비디오 튜토리얼)
간단히 말하면, 순서가 지정된 세트를 사용하면 다른 데이터베이스에서는 달성하기 어려운 많은 작업을 완료할 수 있습니다.
먼저 몇 가지 데이터를 추가해 보겠습니다.
> zadd member_list 10 a 3 b 1 c 4 d 7 e (integer) 5 #返回5,即成功加了5个进入集合。现在试试添加重复的元素 > zadd member_list 9 a 8 f (integer) 1 #这个步骤,返回了1,而不是2,是因为a这个元素已经存在于集合当中了,不会添加成功。 > zrange member_list 0 6 WITHSCORES 1) "c" 2) 1.0 3) "b" 4) 3.0 5) "d" 6) 4.0 7) "e" 8) 7.0 9) "f" 10) 8.0 11) "a" 12) 9.0
보시다시피 순서가 지정된 세트를 정렬하는 규칙은 분모의 크기를 기준으로 합니다. set
대규모 온라인 게임 순위표에서 포인트로 활용할 수 있습니다. 플레이어의 점수가 변경될 때마다 ZADD 명령을 실행하여 플레이어의 점수를 업데이트한 다음 ZRANGE 명령을 사용하여 TOP 10 포인트의 사용자 정보를 얻을 수 있습니다. 물론 ZRANK 명령을 사용하여 사용자 이름을 통해 플레이어의 순위 정보를 얻을 수도 있습니다. 마지막으로 ZRANGE와 ZRANK 명령을 함께 사용하여 특정 플레이어와 유사한 포인트를 가진 다른 사용자에 대한 정보를 빠르게 얻을 것입니다.
Sorted-Sets 유형을 사용하여 인덱스 데이터를 구축할 수도 있습니다.
Redis 관련 기술 기사를 더 보려면 Redis 데이터베이스 사용 튜토리얼 소개 칼럼을 방문하여 알아보세요!
위 내용은 Redis에서 zset을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!