Eine Konvention scheint Doppelpunkt (:) zu sein, aber ich bin ein Webentwickler, daher bevorzuge ich persönlich einen Schrägstrich (/) für das Trennzeichen. Schrägstrich ist bereits ein so wichtiges Trennzeichen innerhalb von URLs, die als Uniform Resource Locators gedacht sind, also als Schlüssel für Ressourcen. Warum mit Doppelpunkt (:) einen anderen Ansatz wählen? Hilft es etwas?
Betrachten Sie dieses Beispiel:
Wir haben eine RESTful API für Spielzeugobjekte. Es gibt eine:
http://example.com/api/toy/234
Wo haben wir es aufbewahrt? Wir verwenden Redis und Schrägstriche, damit der Schlüssel offensichtlich ist:
toy/234
Dies ist der einzigartige Schlüssel für das Spielzeug. Der Schlüssel kann jetzt auch clientseitig verwendet werden:
{
key: "toy/234",
color: "red",
url: function () {
return API_BASE_URL + this.key;
}
}
Ein Benutzer fordert ein Objekt mit Schlüssel an toy/666
. Wie bekomme ich es von Redis? Ein Beispiel für Node.js:
redis.get(key, function reply_callback(error, toystring) {
var toy = JSON.parse(toystring);
...
}
Es ist nicht erforderlich, Schrägstriche in Doppelpunkte umzuwandeln und umgekehrt. Praktisch, meinst du nicht?
Hinweis: Stellen Sie immer sicher, dass der Benutzer nur auf die von Ihnen beabsichtigten Dinge zugreifen kann. Der oben beschriebene rohe URL-zu-Schlüssel-Ansatz kann ebenfalls abgerufen user/1/password
werden, wie von Kommentatoren festgestellt. Dies sollte kein Problem sein, wenn Sie Redis als öffentlichen schreibgeschützten Cache verwenden.
scan
ist keine Option @EranH., es ist die beste Vorgehensweise, Schlüssel zu iterieren.scan
wird verwendet, um eine Sammlung von Elementen schrittweise zu durchlaufen.