2015-05-16 6 views
32

Ich habe mich gefragt, welche Zeichen in einem Redis-Schlüssel gültig sind. Ich habe seit einiger Zeit gegoogelt und kann keine nützlichen Informationen finden. Wie in Python sollte der gültige Variablenname zur Klasse gehören. Was sind die Anforderungen und Konventionen für Redis-Schlüssel?Namenskonvention und gültige Zeichen für einen Redis-Schlüssel

Antwort

57

Teil davon ist here beantwortet, aber das ist nicht vollständig ein Duplikat, wie Sie über zulässige Zeichen sowie Konventionen fragen.

Was gültige Zeichen in Redis Tasten, the manual explains this completely:

Redis Tasten sind binärsicher, bedeutet dies, dass Sie jede binäre Folge als Schlüssel verwenden können, aus einer Zeichenfolge wie „foo“ an die Inhalt einer JPEG-Datei. Die leere Zeichenfolge ist auch ein gültiger Schlüssel.

Ein paar andere Regeln über Tasten:

Sehr lange Schlüssel sind keine gute Idee, ein Schlüssel von 1024 Bytes zum Beispiel ist eine schlechte Idee, nicht nur Speicher-weise, sondern auch, weil die Suche nach dem Schlüssel in Der Datensatz kann mehrere kostenintensive Schlüsselvergleiche erfordern. Selbst wenn die vorliegende Aufgabe darin besteht, die Existenz eines großen Wertes abzustimmen, ist es besser, sie zu Hashing zu machen (zum Beispiel mit SHA1), insbesondere unter dem Gesichtspunkt von Speicher und Bandbreite.

Sehr kurze Tasten sind oft keine gute Idee. Es hat wenig Sinn, "u1000flw" als Schlüssel zu schreiben, wenn Sie stattdessen "user: 1000: followers" schreiben können. Letzteres ist besser lesbar und der hinzugefügte Platz ist im Vergleich zu dem Platz, der vom Schlüsselobjekt selbst und dem Wertobjekt verwendet wird, geringfügig. Während kurze Tasten offensichtlich etwas weniger Speicher verbrauchen, ist es Ihre Aufgabe, das richtige Gleichgewicht zu finden.

Versuchen Sie, mit einem Schema zu bleiben. Zum Beispiel ist "object-type: id" eine gute Idee, wie in "user: 1000". Punkte oder Bindestriche werden häufig für Felder mit mehreren Wörtern verwendet, wie in "Kommentar: 1234: reply.to" oder "comment: 1234: reply-to".

Die maximal zulässige Schlüsselgröße beträgt 512 MB.

+3

Das ist, was ich will. – andy

+0

Also können wir Platz im Schlüsselnamen hier haben? – Vipul

+1

@Vipul: Ja, "das bedeutet, dass Sie jede binäre Sequenz als Schlüssel verwenden können", obwohl Sie in der Befehlszeile um diese Taste Anführungszeichen setzen müssen, sonst 'SET einige Schlüssel mein Wert' funktioniert nicht, während' SET "Irgendein Schlüssel" "Mein Wert" wird. –

Verwandte Themen