Frage

Ich lerne, wie Redis für ein Projekt von mir zu verwenden. Eine Sache, die ich habe nicht meinen Kopf herum ist, was genau die Doppelpunkte für verwendet werden, in dem Namen der Tasten.

Ich habe den Namen des Haupt wie diese gesehen:

users:bob
color:blue
item:bag

Ist der Doppelpunkt getrennte Schlüssel in Kategorien und den Schlüssels Suche schneller? Wenn ja, können Sie mehrere Doppelpunkte verwenden, wenn Schlüssel zu benennen sie in Unterkategorien zu brechen? Schließlich haben sie etwas mit der Definition verschiedener Datenbanken innerhalb des Redis Server zu tun?

Ich habe durch Dokumentation lesen und zahlreiche Google-Suchanfragen in der Sache getan, aber seltsam kann ich nichts zu diskutieren diese finden.

War es hilfreich?

Lösung

Die Doppelpunkte haben als Konzept in früheren Versionen redis gewesen für benannte Speichern von Daten. In frühen Versionen Redis nur Strings unterstützt, wenn Sie die E-Mail und das Alter ‚bob‘ Sie hatte zu speichern alles als String speichern wollte, so Doppelpunkte wurden verwendet:

SET user:bob:email bob@example.com
SET user:bob:age 31

Sie hatten nicht eine spezielle Handhabung oder Leistungsmerkmale in redis wurde der einzige Zweck Namensräume, die Daten wieder zu finden. Heutzutage kann man Hashes verwenden die meisten der coloned Schlüssel zu speichern:

 HSET user:bob email bob@example.com
 HSET user:bob age 31

Sie müssen nicht den Hash-Namen „user: bob“. Wir es „bob“ nennen könnte, aber es mit dem Benutzer-Präfix Namensräume wir sofort wissen, welche Informationen diese Hash sollte / haben könnte

Andere Tipps

Colons sind eine Möglichkeit, die Schlüssel zu strukturieren. Sie werden nicht durch redis in irgendeiner Weise interpretiert. Sie können auch andere Trennzeichen Sie überhaupt wollen oder keine Verwendung. Ich persönlich bevorzuge /, die meine Schlüssel Pfade aussehen wie Dateisystem macht. Sie haben keinen Einfluss auf die Leistung, aber man sollte sie nicht übermäßig machen längst redis alle Schlüssel im Speicher zu halten hat.

Eine gute Tastenstruktur ist wichtig, die Leistung des Art Befehl zu nutzen, die redis' Antworten auf SQLs ist beizutreten.

GET user:bob:color   -> 'blue'
GET user:alice:color -> 'red'

SMEMBERS user:peter:friends -> alice, bob

SORT user:peter:friends BY NOSORT GET user:*:color   -> 'blue', 'red'

Sie sehen, dass die Schlüsselstruktur SORT des Benutzers Farben zum Nachschlagen ermöglicht durch die strukturierten Schlüssel verweisen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top