Ce guide examinera la longueur clé et son impact sur Redis.
Longueur de la clé reded
Les clés redis sont en satelière binaire. Cela signifie que toute séquence binaire peut servir de clé. Cela peut être n'importe quoi - une chaîne, un contenu d'un fichier jpeg, et plus. Une chaîne vide est également une clé valide.
Cependant, il y a une limite à la taille de la clé maximale (512 Mo). Il en va de même pour la taille de la valeur (512 Mo de tout type de données).
La longueur de clé appropriée dépend du contexte. Dans la plupart des cas, cependant, les clés trop longues ou courtes sont mieux évitées.
Inconvénients des longues clés
Si vous définissez une clé très longue, il est livré avec des coûts de performance. La recherche de la clé dans la base de données Redis peut nécessiter plusieurs comparaisons de clés coûteuses. Dans l'efficacité de la mémoire, les touches longues sont assez inefficaces.
Si vous devez utiliser de longues clés, envisagez de les hacher avec de bons algorithmes, comme Sha1, Sha256, etc. En échange d'un peu plus de puissance de traitement, la charge sur la mémoire est considérablement réduite, sans parler de l'élévation des performances.
Par exemple, une clé de 1024 octets entraînera moins de performances et de consommation de mémoire plus élevée. S'il est haché à l'aide de SHA256, la taille est réduite à 256 bits (32 octets) tout en maintenant une position unique dans le serveur Redis.
Inconvénients des clés courtes
L'autre côté du spectre utilise des clés concises. À partir de l'exemple précédent, le raccourcissement de la longueur de clé est préférable pour les avantages sociaux et l'efficacité des ressources. Cependant, sacrifier la clarté pour la légère augmentation des performances ne vaut souvent pas la peine.
Décomposons-le avec un exemple. Considérez la clé U5000F comme une forme raccourcie de Utilisateur: 5000: abonnés. Alors que U5000F est la meilleure option en termes de performances, il fait une option terrible lorsqu'elle est implémentée dans le code.
Pour commencer, le nom de clé est assez inutile. Il n'a pas non plus une indication claire de son objectif. C'est la graine parfaite pour le désastre sur toute la ligne. À mesure que la base de code augmente, les codes déroutants deviennent plus difficiles à maintenir. Au lieu de cela, en utilisant Utilisateur: 5000: abonnés offre un excellent équilibre entre les performances et la commodité.
Que se passe-t-il si Redis manque de mémoire
Redis peut gérer un grand nombre de clés. Il est conçu pour gérer jusqu'à 2 ^ 32 clés! Selon la FAQ Redis, le logiciel est testé au stress avec 250 millions de clés. En d'autres termes, vous êtes plus susceptible de manquer de mémoire système avant de frapper la limite redis.
Cependant, ce qui se passe lorsque Redis atteint la capacité de mémoire maximale? Redis est livré avec des protections intégrées, telles que la limitation de l'utilisation de la mémoire maximale à l'aide de la directive MaxMemory dans le fichier de configuration redis.
$ sudo nano / etc / redis / redis.confli
Si redis atteint la limite de mémoire, il renvoie une erreur aux nouvelles commandes d'écriture. Cependant, il répondra toujours normalement pour lire les commandes.
Conclusion
Dans ce guide, nous avons discuté de la longueur maximale de la longueur que Redis accepte. Nous avons également discuté de la politique de gestion lorsque Redis dépasse la limite de mémoire attribuée. Avec ces connaissances, vous pouvez décider comment mettre en œuvre Redis dans vos applications et scripts.
En parlant de scripts, en savoir plus sur l'incorporation de Redis avec Lua, Golang, Ruby, etc. Besoin de personnaliser le comportement redis? En savoir plus sur le fichier de configuration redis.