Une convention semble être deux points (:) mais je suis développeur web, donc je préfère personnellement la barre oblique (/) pour le séparateur. La barre oblique est déjà un séparateur si important dans les URL qui sont censées être des localisateurs de ressources uniformes, donc des clés pour les ressources. Pourquoi adopter une approche différente avec deux points (:)? Est-ce que ça aide quelque chose?
Considérez cet exemple:
Nous avons une API RESTful pour les objets jouets. Il y en a un:
http://example.com/api/toy/234
Où l'avons-nous stocké? Nous utilisons Redis et slashs donc la clé est évidente:
toy/234
C'est la clé unique du jouet. La clé peut désormais également être utilisée côté client:
{
key: "toy/234",
color: "red",
url: function () {
return API_BASE_URL + this.key;
}
}
Un utilisateur demande un objet avec clé toy/666
. Comment l'obtenir auprès de Redis? Un exemple lié à Node.js:
redis.get(key, function reply_callback(error, toystring) {
var toy = JSON.parse(toystring);
...
}
Pas besoin de convertir les barres obliques en deux points et vice versa. Pratique, tu ne crois pas?
Remarque: assurez-vous toujours que l'utilisateur ne peut accéder qu'aux éléments que vous vouliez. L'approche URL-à-clé brute ci-dessus peut également être récupérée user/1/password
, comme l'ont noté les commentateurs. Cela ne devrait pas poser de problème si vous utilisez Redis comme cache public en lecture seule.
scan
n'est pas l'option @EranH., c'est la meilleure pratique pour itérer les clés.scan
est utilisé pour effectuer une itération incrémentielle sur une collection d'éléments.