IBM Cloud Docs
Redis als Cache konfigurieren

Redis als Cache konfigurieren

die Funktion IBM Cloud® Databases for Redis unterstützt das Ändern der Redis und kann verwendet werden, um Redis als Cache zu konfigurieren. Bei der Konfiguration als Cache entfernt Redis alte Daten zugunsten von neuen Daten. Diese Bereinigung erfolgt auf Grundlage der von Ihnen definierten Cacheeinstellungen. Auch bei der Konfiguration als Cache erstellen Databases for Redis-Bereitstellungen weiterhin einen täglichen Backup-Snapshot. Derzeit ist es nicht möglich, Backups für Ihre Bereitstellung zu inaktivieren. Darüber hinaus werden bestimmte Daten zwecks Hochverfügbarkeit auf Platte geschrieben. Hierbei kopiert Redis eine .rdb-Datei zur Follower-Resynchronisation.

Cacheeinstellungen

Zum Konfigurieren des Cache passen Sie die Einstellungen maxmemory und maxmemory Ihrer Bereitstellung an. maxmemory definiert die Größe des Cache. Mit maxmemory-policy wird das Bereinigungsverhalten bei Erreichen des Grenzwerts für maxmemory definiert. Darüber hinaus kümmern sich andere Einstellungen um Datenbankoperationen und -optimierung.

maxmemory

Standardmäßig ist der Wert für maxmemory auf 80% des verfügbaren Speichers eines Datenknotens gesetzt, damit die Systemressourcen des Knotens nicht gänzlich zur Neige gehen. Sie können diese Einstellung anpassen, aber einen angemessenen Grenzwert festlegen. Andernfalls können Ihre Daten den gesamten verfügbaren Speicher belegen, und es bleiben nicht genügend Ressourcen für Ihre Bereitstellung übrig.

maxmemory-policy

Verfügbare Redis
policy Verhalten
noeviction Es werden keine Schlüssel entfernt, und bei Erreichen des Grenzwerts für maxmemory wird ein Fehler zurückgegeben.
allkeys-lfu Behält häufig verwendete Schlüssel bei und entfernt LFU-Schlüssel (LFU = Least Frequently Used).
volatile-lfu Entfernt am seltensten verwendete Schlüssel, wenn das Feld 'expire' auf 'true' gesetzt ist.
allkeys-lru Entfernt zuerst Schlüssel, die seit längerem nicht verwendet wurden (Less Recently Used, LRU).
volatile-lru Entfernt zuerst Schlüssel, die seit längerem nicht verwendet wurden (Less Recently Used, LRU), aus der Gruppe der Schlüssel, die ablaufen .
allkeys-random Entfernt Schlüssel nach dem Zufallsprinzip.
volatile-random Entfernt Schlüssel nach dem Zufallsprinzip aus der Gruppe der Schlüssel, die ablaufen.
volatile-ttl Entfernt Schlüssel, die ablaufen, und versucht dabei, Schlüssel mit einer kürzeren verbleibenden Lebensdauer (Time to Live, TTL) zuerst zu entfernen.

Bei einer allkeys-Richtlinie wählt der Algorithmus aus, welche Schlüssel aus der Gruppe aller Schlüssel entfernt werden sollen. Bei einer volatile-Richtlinie wählt der Algorithmus das Entfernen von Schlüsseln aus, für die entweder Abgelaufen oder Lebensdauer (TTL, Time-to-Live) festgelegt ist. Wenn in einer volatile-Richtlinie keine Schlüssel mit der Richtlinie übereinstimmen, werden keine Schlüssel entfernt.

Weitere Einstellungen

Redis
policy Verhalten Anmerkungen
appendonly Standardwert: yes. Ermöglicht das Schreiben von Redis-Daten auf Platte. Wenn Sie Daten zwischenspeichern, wollen Sie diesen Wert auf no setzen.
stop-writes-on-bgsave-error Standardwert: yes. Redis akzeptiert keine Schreiboperationen mehr, wenn ein nicht erfolgreicher Backup-Snapshot gefunden wird. Für Caching kann der Wert auf no gesetzt werden.
maxmemory-samples Optimiert den LRU-Algorithmus; Standardwert: 5. Ungefähr verwendeter LRU-Algorithmus

Beispielcache einrichten

Um die Konfiguration Ihrer Bereitstellung anzupassen, senden Sie ein JSON-Objekt mit den Einstellungen, die Sie ändern wollen, und ihren neuen Werten.

Sie können CONFIG SET direkt von einem Redis-Client aus verwenden, aber die dort vorgenommenen Änderungen sind nicht permanent. Verwenden Sie das Cloud Databases CLI-Plugin oder API, um die Konfigurationsdatei Ihrer Bereitstellung zu ändern. Weitere Informationen finden Sie im Thema Redis-Konfiguration ändern.

Beispiel: In der Redis-Dokumentation wird die Einstellung allkeys-lru als guter Ausgangspunkt für einen Cache zur allgemeinen Verwendung empfohlen. Darüber hinaus ist es in Ordnung, für maxmemory und maxmemory-samples den jeweiligen Standardwert beizubehalten.

Um den Cache von der CLI aus zu konfigurieren, können Sie Folgendes verwenden:

ibmcloud cdb deployment-configuration '<INSTANCE_NAME_OR_CRN>' '{"configuration":{"maxmemory-policy":"allkeys-lru", "appendonly":"no", "stop-writes-on-bgsave-error":"no"}}'

Um die gleiche Konfiguration über die API einzurichten, können Sie Folgendes verwenden:

curl -X PATCH 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/configuration/schema' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"configuration":{
        "maxmemory-policy":"allkeys-lru",
        "appendonly":"no",
        "stop-writes-on-bgsave-error":"no"
      }
    }'