>  기사  >  데이터 베이스  >  레디스 인덱스란 무엇인가

레디스 인덱스란 무엇인가

(*-*)浩
(*-*)浩원래의
2019-11-21 13:18:106619검색

레디스 인덱스란 무엇인가

redis는 인덱싱을 직접 지원하지 않으며 직접 유지 관리해야 합니다.

범위가 아닌 고유 인덱스의 경우 간단히 인덱스를 KV 쌍으로 저장할 수 있으며 v는 기본 키를 저장할 수 있습니다. 범위 검색 또는 고유하지 않은 인덱스는 redis의 zset을 사용하여 구현해야 합니다. (추천 학습: Redis 비디오 튜토리얼)

전통적인 사용자 시스템의 예를 들어보세요

uid 用户id
name 用户名
credit 用户积分
type 类型

해시셋에 직접 배치될 수 있습니다

hmset usr:1 uid 1 name aaa credit 10 type 0
hmset usr:2 uid 2 name bbb credit 20 type 1

uid로 검색하는 것은 빠르지만 쿼리 유형을 원할 경우 =1 사용자는 전체 스캔만 할 수 있습니다!

관계형 데이터베이스에서는 단순히 type

select * from usr where type=1

에 대한 인덱스를 생성하면 이러한 SQL을 효율적으로 실행할 수 있습니다. Redis에서는 또 다른 zset을 유지해야 합니다

zadd usr.index.type 0 0:1
zadd usr.index.type 0 1:2

모든 가중치는 0으로 설정되므로 값으로 직접 검색한 다음 통과할 수 있습니다

zrangebylex usr.index.type [1: (1;

위 내용은 레디스 인덱스란 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.