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
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
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"
}
}'