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=1erstellen
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!