Question Convention de nommage et caractères valides pour une clé Redis


Je me demandais quels caractères sont considérés comme valides dans une clé Redis. J'ai googlé pendant un certain temps et ne trouve aucune information utile.

Comme dans Python, le nom de variable valide doit appartenir à la classe [a-zA-Z0-9_]. Quelles sont les exigences et les conventions pour les clés Redis?


40
2018-05-16 04:22


origine


Réponses:


Une partie de ceci est répondu ici, mais ce n'est pas tout à fait un doublon, car vous posez des questions sur les caractères autorisés ainsi que sur les conventions.

Pour ce qui est de caractères valides dans les clés Redis, le manuel explique cela complètement:

Les clés Redis sont sécurisées en binaire, cela signifie que vous pouvez utiliser n'importe quelle séquence binaire en tant que clé, d'une chaîne telle que "foo" au contenu d'un fichier JPEG. La chaîne vide est également une clé valide.

Quelques autres règles concernant les clés:

Les clés très longues ne sont pas une bonne idée, par exemple une clé de 1024 octets est une mauvaise idée non seulement du point de vue de la mémoire, mais aussi parce que la recherche de la clé dans le jeu de données peut nécessiter plusieurs comparaisons de clés coûteuses. Même lorsque la tâche à accomplir consiste à faire coïncider l'existence d'une valeur élevée, le recours au hachage (par exemple avec SHA1) est une meilleure idée, en particulier du point de vue de la mémoire et de la bande passante.

Les clés très courtes ne sont souvent pas une bonne idée. Il est inutile d'écrire "u1000flw" comme clé si vous pouvez écrire "user: 1000: followers". Ce dernier est plus lisible et l'espace ajouté est mineur par rapport à l'espace utilisé par l'objet-clé lui-même et l'objet de valeur. Bien que les touches courtes consomment évidemment un peu moins de mémoire, votre travail consiste à trouver le bon équilibre.

Essayez de vous en tenir à un schéma. Par exemple, "object-type: id" est une bonne idée, comme dans "user: 1000". Les points ou les tirets sont souvent utilisés pour les champs à plusieurs mots, comme dans "comment: 1234: reply.to" ou "comment: 1234: reply-to".

La taille de clé maximale autorisée est de 512 Mo.


68
2018-05-16 04:28