Speichern großer zusammengesetzter Artikel (Valkey und OSS Redis) - Amazon ElastiCache

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Speichern großer zusammengesetzter Artikel (Valkey und OSS Redis)

In einigen Szenarien kann eine Anwendung große zusammengesetzte Elemente in Valkey oder Redis speichern OSS (z. B. einen Hash-Datensatz mit mehreren GB). Diese Vorgehensweise wird nicht empfohlen, da sie häufig zu Leistungsproblemen in Valkey oder Redis führt. OSS Der Client kann beispielsweise einen HGETALL Befehl ausführen, um die gesamte Multi-GB-Hashsammlung abzurufen. Dies kann zu erheblichem Speicherdruck auf den Valkey- oder OSS Redis-Server führen, der das große Element im Client-Ausgabepuffer zwischenspeichert. Außerdem werden bei der Steckplatzmigration im Clustermodus ElastiCache keine Steckplätze migriert, die Elemente mit einer serialisierten Größe von mehr als 256 MB enthalten.

Zur Lösung der Probleme mit großen Elementen wird Folgendes empfohlen:

  • Teilen Sie das große zusammengesetzte Element in mehrere kleinere Objekte auf. Teilen Sie beispielsweise eine große Hash-Sammlung in einzelne Schlüssel-Wert-Felder auf, wobei das Schlüsselnamensschema die Sammlung angemessen widerspiegelt, z. B. indem Sie ein gemeinsames Präfix im Schlüsselnamen verwenden, um die Sammlung von Elementen zu identifizieren. Wenn Sie atomar auf mehrere Felder in derselben Sammlung zugreifen müssen, können Sie den MGET Befehl verwenden, um mehrere Schlüsselwerte in demselben Befehl abzurufen.

  • Wenn Sie alle Optionen geprüft haben und den großen Sammlungsdatensatz immer noch nicht aufteilen können, versuchen Sie, Befehle zu verwenden, die auf eine Teilmenge der Daten in der Sammlung statt auf die gesamte Sammlung angewendet werden. Vermeiden Sie einen Anwendungsfall, bei dem Sie die gesamte Sammlung mit mehreren GB mit demselben Befehl atomar abrufen müssen. Ein Beispiel ist die Verwendung von HGET HMGET Or-Befehlen anstelle von HGETALL On-Hash-Sammlungen.