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
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.
- 1. Gültige Zeichen für URI-Schemata?
- 2. Gültige Zeichen eines Hostnamens?
- 3. Was sind gültige Zeichen für Windows-Umgebungsvariablennamen und -werte?
- 4. Namenskonvention für CFBundleSignature und CFBundleIdentifier
- 5. Namenskonvention für Befehle und Ereignisse
- 6. Gültige Zeichen für Verzeichnis Teil einer URL (für kurze Links)
- 7. Namenskonvention für Qt-Widgets
- 8. JavaScript-Namenskonvention für Versprechen?
- 9. Kürzere Namenskonvention für Typen
- 10. Namenskonvention für private Felder
- 11. Namenskonvention für Rx-Erweiterungsmethoden?
- 12. Gültige Benutzernamen-Zeichen mit SQL-Provider für ASP.NET-Mitgliedschaft
- 13. Namenskonvention für Fremdschlüsseleinschränkung ändern
- 14. Scala Namenskonvention für Züge
- 15. Namenskonvention für gängige Muster?
- 16. PEP8 Namenskonvention für Testklassen
- 17. Namenskonvention für winkelabhängige Modulabhängigkeiten
- 18. Ruby: Namenskonvention für Boolesche Attribute und Verwendung
- 19. Namenskonvention für Parameter von Ctors und Setter
- 20. Namenskonvention für Tabellenfelder und SQL-Anweisungen
- 21. Namenskonvention für groovige Skriptdateien
- 22. Namenskonvention für Persistence-Objekt
- 23. Namenskonvention für Service-Methode
- 24. Hat meine Namenskonvention einen Namen?
- 25. Namenskonvention für Eigenschaft
- 26. Scala Namenskonvention für Optionen
- 27. Namenskonvention für Django-Modelle
- 28. Namenskonvention für exportierte Modulvariablennamen
- 29. Restful Service Namenskonvention für Service
- 30. Gültige Zeichen in einem Python-Klassennamen
Das ist, was ich will. – andy
Also können wir Platz im Schlüsselnamen hier haben? – Vipul
@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. –