Heim >Datenbank >Redis >Was ist ein Redis-Index?

Was ist ein Redis-Index?

(*-*)浩
(*-*)浩Original
2019-11-21 13:18:106682Durchsuche

Was ist ein Redis-Index?

Redis unterstützt die Indizierung nicht direkt und muss von Ihnen selbst gepflegt werden.

Für nicht bereichsspezifische Indizes können wir den Index einfach als KV-Paar speichern, und v kann den Hauptschlüssel für den Bereichsabruf oder nicht eindeutige Indizes speichern Zset wird verwendet, um dies zu erreichen. (Empfohlenes Lernen: Redis-Video-Tutorial)

Nehmen Sie ein traditionelles Benutzersystembeispiel

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

kann direkt platziert werden Abrufen

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

per UID in einem Hashset ist sehr schnell, aber wenn Sie Benutzer mit Typ=1 abfragen möchten, können Sie sie nur alle scannen!

In einer relationalen Datenbank können wir einfach einen Index vom Typ

select * from usr where type=1
erstellen

Solches SQL kann effizient ausgeführt werden. In Redis müssen wir ein weiteres Zset pflegen

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

Beachten Sie, dass alle Gewichte auf 0 gesetzt sind, damit sie direkt nach Wert abgerufen und dann

zrangebylex usr.index.type [1: (1;
übergeben werden können

Das obige ist der detaillierte Inhalt vonWas ist ein Redis-Index?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn