2017-09-18 4 views
1

Quels sont les différents types de clés pris en charge par Redis? La documentation mentionne tous les différents types (chaînes, ensemble, hashmap, etc.) de valeurs supportées par Redis, mais je n'ai pas pu trouver l'information de type clé.Types de clés pris en charge par Redis

Répondre

1

Les clés de Redis sont toutes des chaînes, peu importe le type de valeur que vous transmettez à un client. Sous le capot, le protocole RESP est utilisé et il transmettra la valeur sous forme de chaîne au moteur.

Exemple:

ZADD some_key 1 some_value 

some_key est toujours une chaîne, même si vous passez 3 comme la clé, elle est traitée comme une chaîne. C'est vrai pour chaque client.

5

De la documentation Redis (Data types intro):

clés

Redis clés

Redis sont données binaires, cela signifie que vous pouvez utiliser une séquence binaire comme une 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 sur 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 est de faire correspondre l'existence d'une grande valeur, le hacher (par exemple avec SHA1) est une meilleure idée, surtout 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. Alors 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". Des points ou des tirets sont souvent utilisés pour les champs multi-mots , comme dans "comment: 1234: reply.to" ou "comment: 1234: reply-to".
  • La taille de clé maximale autorisée est de 512 Mo.

De mon expérience any binary sequence signifie généralement un String, mais je ne peux pas être familier avec les langues où vous pouvez y parvenir en utilisant d'autres types de données.

+0

Merci pour l'extrait! C'était utile. –