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:
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 festStattdessen können Sie den Schlüsselnamen verwenden:
Setzen Sie den Wert l_key_nameDies 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 unsDies 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 unsSie 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Ändern Sie den Wert der Listenkompress-Tiefe in beide:
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!!