Le serveur de dictionnaire distant, ou Redis pour court-circuit, est une base de données en mémoire ultra-rapide qui stocke les valeurs dans les paires de valeurs clés. Il est principalement utilisé comme mécanisme de mise en cache pour des bases de données telles que SQL et des bases de données de documents.
Puisque Redis est une base de données en mémoire, l'espace utilisé est essentiel et doit être fortement surveillé. Une stratégie pour améliorer et optimiser les performances de la mémoire pour Redis est d'utiliser la compression.
Par défaut, Redis ne fournit pas de compression pour les données stockées. Par conséquent, les techniques de compression sont implémentées sur l'application.
Laissez-nous discuter de quelques techniques que vous pouvez utiliser pour optimiser les performances de la mémoire dans Redis.
Mettre en œuvre un algorithme de compression
Étant donné que Redis ne compresse pas les valeurs stockées, vous devez le faire avant de les stocker. Il existe plusieurs algorithmes de compression pour comprimer les chaînes avant de les stocker.
Ces algorithmes incluent:
Utiliser des noms de clés plus courts
Bien que les développeurs devraient privilégier les noms plus descriptifs par rapport à des noms courts, l'utilisation de la mémoire peut rapidement monter en flèche si vous avez une vaste collection de clés dans la base de données.
Envisagez toujours d'utiliser des noms de clés courts pour vos données de valeur clé pour éviter cela.
Exemple:
Définissez la valeur de this_is_a_very_large_key_keAu lieu de cela, vous pouvez utiliser le nom de la clé:
Définir la valeur l_key_nameCela réduit le nombre de caractères de Redis à stocker pour votre base de données.
Noms de champ de compression
Le même cas ci-dessus peut être dit sur les noms de champ. Et encore une fois, l'utilisation d'un nom de champ plus court peut enregistrer quelques octets ou kilo-kilo-kilo-.
Par conséquent, envisagez d'utiliser des noms de champ courts pour vos données redis.
Un exemple est comme indiqué:
127.0.0.1: 6379> HSET USER_INFO ID 1 Firstname Moes Lastname K Country "États-Unis d'Amérique"Ici, nous pouvons enregistrer une certaine mémoire en refactorisant les noms de champ comme:
Hset user_info id 1 fname moes lname country usCela comprime les noms de champ et les valeurs.
Utilisez la liste au lieu d'un hachage
Un hachage est composé de noms de champ et de valeurs correspondantes. Bien que ce ne soit pas un problème important, cela peut être problématique lorsque des milliers de types de hachage entrent en jeu.
Pour résoudre ce problème, vous pouvez opter pour une liste comme indiqué:
Hset user_info id 1 fname moes lname country usVous pouvez convertir le hachage ci-dessus en liste comme:
Lpush ["fname", "moes", "lname", "k", "country", "nous"]Évitez les scripts LUA dynamiques
Pour économiser encore plus de mémoire, évitez d'utiliser des scripts LUA dynamiques qui provoquent la croissance du cache. Plus vous chargez de scripts, plus vous consommez beaucoup de mémoire.
Activer la compression de la liste
Comme mentionné, Redis ne compresse aucune valeur stockée dedans. Cela comprend des éléments dans une liste. Pour les valeurs de liste courte, ce n'est guère un problème. Cependant, sur de longues listes, il peut être avantageux pour permettre la compression.
Dans le redis.Fichier Conf, localisez la ligne:
Sudo Cat / etc / redis / redis.conf | Compresser la liste GrepModifiez la valeur de List-Compress-Depth en soit:
Améliorez votre version redis
Une autre étape que vous pouvez prendre pour améliorer l'utilisation de la mémoire dans votre serveur Redis est de mettre à niveau votre version redis.
En ce qui concerne ce tutoriel, version 4.0 (le dernier) est livré avec les fonctionnalités suivantes.
Fermeture
Ce guide traite de diverses méthodes et techniques que vous pouvez utiliser pour optimiser l'utilisation de la mémoire dans votre cluster Redis. Cependant, gardez à l'esprit que toutes les formes ne sont pas garanties à 100%.
Merci d'avoir lu, à bientôt dans le prochain!!