Une partie de cela est répondue ici, mais ce n'est pas complètement un doublon, car vous posez des questions sur les caractères autorisés ainsi que sur les conventions.
En ce qui concerne les caractères valides dans les clés Redis , le manuel l'explique complètement :
Les clés Redis sont binaires sûres, cela signifie que vous pouvez utiliser n'importe quelle séquence binaire comme clé, d'une chaîne comme "foo" au contenu d'un fichier JPEG. La chaîne vide est également une clé valide.
Quelques autres règles concernant les clés :
Des 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 en termes de mémoire, mais aussi parce que la recherche de la clé dans l'ensemble de données peut nécessiter plusieurs comparaisons de clés coûteuses. Même lorsque la tâche à accomplir est de faire correspondre l'existence d'une grande valeur, recourir à son hachage (par exemple avec SHA1) est une meilleure idée, notamment du point de vue de la mémoire et de la bande passante.
Des touches très courtes ne sont souvent pas une bonne idée. Il ne sert à rien d'écrire "u1000flw" comme clé si vous pouvez à la place é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 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 de plusieurs mots, comme dans "comment:1234:reply.to" ou "comment:1234:reply-to".
La taille de clé maximale autorisée est de 512 Mo.