Question

J'apprends comment utiliser Redis pour un projet de la mine. Une chose que je n'ai pas ma tête est autour de ce que les deux-points sont exactement les noms des clés.

Je l'ai vu de noms clés comme ceux-ci:

users:bob
color:blue
item:bag

Est-ce que les touches séparées du côlon en catégories et vous permettent de trouver les clés plus rapidement? Dans ce cas vous pouvez utiliser plusieurs clés pour nommer deux points pour les décomposer en sous-catégories? Enfin ont-ils quelque chose à voir avec la définition de différentes bases de données au sein du serveur Redis?

J'ai lu la documentation et fait de nombreuses recherches Google sur la question, mais curieusement je ne trouve rien en discuter.

Était-ce utile?

La solution

Les deux points ont été dans les versions antérieures de redis en tant que concept pour stocker des données d'espace de nom. Dans les premières versions Redis pris en charge uniquement des chaînes, si vous voulez stocker le courrier électronique et l'âge de « bob » vous deviez stocker tout comme une chaîne, donc utilisés côlons:

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

Ils avaient pas un traitement spécial ou des caractéristiques de performance dans Redis, le seul but était les données à l'espace de nommage trouver à nouveau. De nos jours, vous pouvez utiliser hash pour stocker la plupart des clés coloned:

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

Vous ne devez pas nommer le hachage « utilisateur: bob ». On pourrait nommer « bob », mais avec des espaces de noms le préfixe utilisateur nous savons instantanément quelles informations ce hachage devrait / pourrait avoir

Autres conseils

Colons sont une façon de structurer les clés. Ils ne sont pas interprétées par Redis en aucune façon. Vous pouvez également utiliser tout autre délimiteur que vous aimez ou pas du tout. Personnellement, je préfère /, ce qui rend mes clés ressemblent à des chemins du système de fichiers. Ils ont aucune influence sur la performance, mais vous ne devriez pas les faire trop longtemps car Redis doit garder toutes les clés dans la mémoire.

Une bonne structure de clé est importante pour tirer parti de la puissance de la commande de tri, ce qui est des réponses à de SQL redis rejoignent.

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'

Vous pouvez voir que la structure clé permet SORT de rechercher les couleurs de l'utilisateur en faisant référence aux clés structurés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top