Redis-Konfigurationen

Auf dieser Seite werden Maxmemory-Richtlinien und andere für Memorystore for Redis verfügbare Redis-Konfigurationen beschrieben. Sie müssen Ihre Redis-Instanz nicht neu starten, wenn Sie eine Konfiguration anpassen.

Eine Anleitung zum Ändern der unten aufgeführten Konfigurationen finden Sie unter Redis-Instanzen konfigurieren.

Maxmemory-Richtlinien

Wenn der Redis-Instanzspeicher voll ist und ein neuer Schreibvorgang eingeht, werden die Schlüssel von Redis entfernt, um Platz für den Schreibvorgang zu schaffen. Dieser Vorgang basiert auf der Maximalspeicherrichtlinie Ihrer Instanz. Die standardmäßige Richtlinie für max. Speicher für Memorystore for Redis ist volatile-lru. Sie können auch eine der folgenden Maximalspeicher-Richtlinien verwenden:

  • noeviction: Gibt einen Fehler zurück, wenn die Redis-Instanz den Höchstspeicher erreicht. Daten werden nicht überschrieben oder entfernt.
  • allkeys-lfu: Verfügbar in Redis-Version 4.0 oder höher. Entfernt die am wenigsten verwendeten Schlüssel aus dem gesamten Keyset.
  • allkeys-lru: Entfernt die am weitesten in der Vergangenheit verwendeten (LRU) Schlüssel aus dem gesamten Keyset.
  • volatile-lfu: Verfügbar in Redis Version 4.0 oder höher. Löscht die am weitesten in der Vergangenheit verwendeten Schlüssel, die mit TTL-Ablauf (Lebensdauer) festgelegt sind.
  • volatile-lru: Entfernt die am weitesten in der Vergangenheit verwendeten (LRU)-Schlüssel, die mit TTL-Ablaufzeiten festgelegt sind.
  • allkeys-random: Entfernt zufällige Schlüssel aus dem gesamten Schlüsselbereich.
  • volatile-random: Entfernt zufällige Schlüssel aus den Schlüsseln mit TTL-Ablauf.
  • volatile-ttl: Entfernt die Schlüssel mit der kürzesten TTL aus den Schlüsseln mit TTL-Ablauf.

Editierbare Konfigurationsparameter

Sie können die folgenden Parameter ändern, wenn Sie eine Memorystore for Redis-Instanz erstellen oder aktualisieren.


Parameter Beschreibung Zulässige Werte
activedefrag Redis Version 4.0 oder höher Ermöglicht die Freigabe von Instanzspeicher, der durch das Standardverhalten der Speicherfragmentierung von OSS Redis verbunden ist. no (Standard)
yes
lfu-decay-time Redis Version 4.0 oder höher Die Zeit in Minuten, bevor der LFU-Häufigkeitszähler für einen bestimmten Schlüssel durch zwei geteilt wird (oder, wenn der Zähler kleiner als 10 ist, um 1 verringert wird). Weitere Informationen finden Sie in der Datei Redis.Conf. Positive Ganzzahlen des Datentyps "long"
(Standard=1)
lfu-log-factor Redis Version 4.0 oder höher Bestimmt, wie der Frequenzzähler die wichtigsten Treffer darstellt. Bevor Sie die Standardkonfiguration ändern, lesen Sie, wie die Konfiguration lfu-log-factor in der Datei REDIS.CONF funktioniert. Positive Ganzzahlen des Datentyps "long"
(Standard=10)
maxmemory-gb Gibt ein anpassbares Limit an, ab dem die Bereinigungsrichtlinie wirksam wird. Wenn Sie beispielsweise eine Instanz mit 10 GB haben und maxmemory-gb auf 8 festlegen, wird die Richtlinie zur Entfernung wirksam, wenn Ihre Daten 8 GB Instanzspeicher belegen. So bleiben bis zu 2 GB Speicher als Overhead. Standardmäßig ist maxmemory-gb auf die Instanzkapazität eingestellt. Weitere Informationen zur optimalen Verwendung der maxmemory-gb-Konfiguration finden Sie in den Best Practices für die Speicherverwaltung in Memorystore.

Diese Konfiguration wird in der Google Cloud Console als maxmemory-percent angezeigt. Wenn Sie die Konsole verwenden, legen Sie maxmemory-percent als Prozentsatz der Instanzkapazität anstelle einer bestimmten Anzahl von GB fest.
Anzahl der GB, ausgedrückt als ganze Zahl oder Dezimalzahl.
Beispiele:
10 legt ein maxmemory-gb von 10 GB fest.
1.5 legt ein maxmemory-gb von 1,5 GB fest.
maxmemory-gb kann auf mindestens 20 % der Instanzkapazität reduziert werden.
maxmemory-policy Gibt das Verhalten an, dem Redis folgt, wenn die Instanzdaten das Limit von maxmemory-gb erreichen. Eine Beschreibung des Verhaltens der einzelnen Richtlinien finden Sie unter Maxmemory-Richtlinien.

Weitere Informationen zu den Open-Source-Redis-Maximalspeicherrichtlinien finden Sie auf der Seite zum Open-Source-Redis-Cache.
noeviction
allkeys-lru
volatile-lru (Standard)
allkeys-random
volatile-random
volatile-ttl
volatile-lfu (Redis Version 4.0 und höher)
allkeys-lfu (Redis Version 4.0 und höher)
notify-keyspace-events Clients können Benachrichtigungen für bestimmte Keyspace-Ereignisse abonnieren. Weitere Informationen finden Sie auf der Redis-Website auf der Seite Redis-Keyspace-Benachrichtigungen. "" (Standard)
K
Keyspace-Ereignisse mit dem Präfix __keyspace@__.
E
Keyevent-Ereignisse mit dem Präfix __keyevent@__.
g
Allgemeine Befehle (nicht typspezifisch) wie DEL, EXPir oder RENAME
$
String-Befehle
l
List-Befehle auf
s
Legen Sie Befehle fest
h
Hash-Befehle
z
Sortierte Satzbefehle
x
Abgelaufene Ereignisse (Ereignisse, die jedes Mal generiert werden, wenn ein Schlüssel abläuft)
e
Bereinigte Ereignisse (Ereignisse, die generiert werden, wenn ein Schlüssel für den Höchstspeicher entfernt wird)
A
Alias für g$lshzxe, sodass der "AKE"-String alle Ereignisse bezeichnet.
stream-node-max-bytes Redis Version 5.0 oder höher. Die Datenstruktur des Redis-Streams verwendet eine Radix-Struktur zum Speichern von Elementen. Der Parameter stream-node-max-bytes legt die maximale Anzahl von Byte fest, die zum Speichern von Elementen in einem einzelnen Baumknoten verfügbar sind. Sobald dieses Limit erreicht ist, werden neue Elemente in einem neuen Baumknoten gespeichert. Ganzzahlen 0 und höher.
(Standard=4096)
0 bezeichnet einen Baumknoten mit unbegrenzter Größe.
stream-node-max-entries Redis Version 5.0 oder höher. Die Datenstruktur des Redis-Streams verwendet eine Radix-Struktur zum Speichern von Elementen. Der Parameter stream-node-max-entries gibt die Anzahl der Elemente an, die in einem einzelnen Knoten gespeichert werden können. Wenn dieses Limit erreicht ist, werden neue Elemente in einem neuen Baumknoten gespeichert. Ganzzahlen 0 und höher.
(Standard=100)
0 bezeichnet einen Baumknoten mit einer unbegrenzten Anzahl von Elementen.
timeout Die Anzahl der Sekunden, nach der inaktive Clientverbindungen beendet werden. Wenn timeout jedoch auf 0 gesetzt ist, führen inaktive Clients keine Zeitüberschreitung durch und bleiben so lange verbunden, bis der Client die Beendigung ausgibt. 0 (Standard)
Ganzzahlen >= 120
Einheit = Sekunden

Unveränderliche Konfigurationsparameter

In der folgenden Tabelle sind die Redis-Konfigurationsparameter aufgeführt, die Sie in Memorystore for Redis und deren Standardwerten nicht ändern können. Ausführliche Informationen zu diesen Konfigurationsparametern finden Sie in der Redis-Konfiguration.

Parameter Standardwert
lua-time-limit 5.000
hash-max-ziplist-entries 2.048
hash-max-ziplist-value 1.024
list-max-ziplist-size -2
list-compress-depth . 0
set-max-intset-entries 512
zset-max-ziplist-entries 1.024
zset-max-ziplist-value 1.024
hll-sparse-max-byte 3.000
activerehashing Ja
hz 10
databases 16
maxclients 65000
slowlog-log-slower-than 10000
slowlog-max-len 128
repl-diskless-load SwapDB
io-threads-do-reads Ja

Nächste Schritte

  • Weitere Informationen über Redis-Konfigurationen erhalten Sie auf der Open-Source-Seite Redis-Konfiguration.