Activer la compression avec Redis

Activer la compression avec Redis

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:

  1. Compression LZO - très rapidement et offre des vitesses de décompression plus élevées.
  2. Lz4 - efficace en vitesse et très facile à intégrer dans les applications.
  3. Dynamique - Taux de compression / décompression élevés.

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_ke

Au lieu de cela, vous pouvez utiliser le nom de la clé:

Définir la valeur l_key_name

Cela 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 us

Cela 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 us

Vous 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 Grep
List-Compress-Depth 0 // modifie cette valeur

Modifiez la valeur de List-Compress-Depth en soit:

  1. 1 - comprime chaque nœud de liste sauf la tête et la queue.
  2. 2 - ne jamais compresser la tête ou la tête-> ou la queue ou la queue-> prev
  3. 3 - Démarrer la compression après la tête-> Suivant et queue -> - Précédent

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!!