Aktivieren Sie die Komprimierung mit Redis

Aktivieren Sie die Komprimierung mit Redis

Remote Dictionary Server oder kurz Redis ist eine blitzschnelle In-Memory-Datenbank, die Werte in Schlüsselwertpaaren speichert. Es wird hauptsächlich als Caching -Mechanismus für Datenbanken wie SQL- und Dokumentdatenbanken verwendet.

Da Redis eine In-Memory-Datenbank ist, ist der verwendete Raum kritisch und muss stark überwacht werden. Eine Strategie zur Verbesserung und Optimierung der Speicherleistung für Redis besteht darin, die Komprimierung zu verwenden.

Standardmäßig liefert Redis keine Komprimierung für gespeicherte Daten. Daher werden Komprimierungstechniken in der Anwendung implementiert.

Lassen Sie uns einige Techniken besprechen, mit denen Sie die Speicherleistung in Redis optimieren können.

Implementieren Sie einen Komprimierungsalgorithmus

Da Redis die gespeicherten Werte nicht komprimiert, müssen Sie dies tun, bevor Sie sie speichern. Es gibt mehrere Komprimierungsalgorithmen, um Saiten zu komprimieren, bevor sie gespeichert werden.

Solche Algorithmen umfassen:

  1. LZO -Kompression - Sehr schnell und bietet höhere Dekompressionsgeschwindigkeiten.
  2. LZ4 - effizient in Geschwindigkeit und sehr einfach in Anwendungen zu integrieren.
  3. Bissig - hohe Kompressions-/Dekompressionsraten.

Verwenden Sie kürzere Schlüsselnamen

Obwohl Entwickler mehr beschreibende Namen gegenüber Kurzfilmen begünstigen sollten, kann die Speicherverwendung schnell in die Höhe schnellen, wenn Sie eine umfangreiche Tastensammlung in der Datenbank haben.

Erwägen Sie immer, kurze Schlüsselnamen für Ihre Schlüsselwertdaten zu verwenden, um dies zu vermeiden.

Beispiel:

Legen Sie dies fest

Stattdessen können Sie den Schlüsselnamen verwenden:

Setzen Sie den Wert l_key_name

Dies reduziert die Anzahl der Zeichen von Redis, um für Ihre Datenbank zu speichern.

Feldnamen komprimieren

Der gleiche Fall oben kann über die Feldnamen gesagt werden. Auch hier kann die Verwendung eines kürzeren Feldnamens ein paar Bytes oder Kilobyten Ihres Speichers speichern.

Erwägen Sie daher, kurze Feldnamen für Ihre Redis -Daten zu verwenden.

Ein Beispiel ist wie gezeigt:

127.0.0.1: 6379> hset user_info id 1 FirstName Moes Lastname K Country "United States of America"

Hier können wir etwas Speicher speichern, indem wir die Feldnamen als:

Hset user_info id 1 fname Moes lname Land uns

Dies komprimiert die Feldnamen und die Werte.

Verwenden Sie die Liste anstelle eines Hashs

Ein Hash besteht aus Feldnamen und entsprechenden Werten. Obwohl dies kein wesentliches Problem ist, kann es problematisch sein, wenn Tausende von Hash -Typen ins Spiel kommen.

Um dies zu lösen, können Sie sich wie gezeigt für eine Liste entscheiden:

Hset user_info id 1 fname Moes lname Land uns

Sie können den oben genannten Hash in eine Liste konvertieren als:

Lpush ["fname", "moes", "lname", "k", "land", "wir"]

Vermeiden Sie dynamische Lua -Skripte

Um noch mehr Speicher zu sparen, vermeiden Sie es, dynamische Lua -Skripte zu verwenden, die dazu führen, dass der Cache wächst. Je mehr Skripte Sie laden, desto mehr verbrauchen Sie viel Speicher.

Listenkomprimierung aktivieren

Wie erwähnt, komprimiert Redis keine darin gespeicherten Werte. Dies schließt Elemente in einer Liste ein. Für kurze Listenwerte ist dies kaum ein Problem. Auf langen Listen kann es jedoch von Vorteil sein, die Komprimierung zu ermöglichen.

Im Redis.Conf -Datei, suchen Sie die Zeile:

sudo cat/etc/Redis/Redis.conf | Grep List-Compress
LIST-COMPRESS-TEPTH 0 // diesen Wert ändern

Ändern Sie den Wert der Listenkompress-Tiefe in beide:

  1. 1 - Komprimiert jeden Listenknoten außer Kopf und Schwanz.
  2. 2 - Niemals Kopf oder Kopf oder Schwanz oder Schwanz-vorhaben
  3. 3 - Beginnen Sie die Komprimierung nach Kopf-> Weiter und Schwanz->-Prev

Aktualisieren Sie Ihre Redis -Version

Ein weiterer Schritt, den Sie zur Verbesserung des Speicherverbrauchs in Ihrem REDIS -Server machen können, besteht darin, Ihre Redis -Version zu aktualisieren.

Zum Schreiben dieses Tutorials, Version 4.0 (neuestes) ist mit den folgenden Funktionen ausgestattet.

Schließen

In diesem Leitfaden werden verschiedene Methoden und Techniken erörtert, mit denen Sie den Speicherverbrauch in Ihrem Redis -Cluster optimieren können. Denken Sie jedoch daran, dass nicht alle Formen zu 100% garantiert sind.

Danke fürs Lesen, wir sehen uns im nächsten!!