IBM Cloud Docs
Configurazione di Redis come cache

Configurazione di Redis come cache

IBM Cloud® Databases for Redis supporta la modifica della configurazione del databaseRedis e puoi utilizzarla per configurare Redis come una cache. Quando è configurato come cache, Redis evita i vecchi dati a favore dei nuovi in base alle impostazioni della cache definite. Anche quando sono configurate come cache, le distribuzioni Databases for Redis eseguono ancora un'istantanea di backup giornaliera. Attualmente non è possibile disabilitare i backup sulla propria distribuzione. Scrivono anche alcuni dati su disco per l'alta disponibilità. Redis si basa sulla copia su un file .rdb per risincronizzare i follower.

Impostazioni della cache

Per configurare la cache, regolare le impostazioni maxmemory e maxmemory della propria distribuzione. maxmemory definisce la dimensione della cache. maxmemory-policy definisce il comportamento di eliminazione quando viene raggiunto il limite maxmemory. Inoltre, altre impostazioni si occupano delle operazioni e dell'ottimizzazione del database.

maxmemory

Per default, maxmemory è impostato sull'80% della memoria disponibile di un nodo di dati, quindi il nodo non esaurisce le risorse di sistema. È possibile regolare questa impostazione, ma impostare un limite ragionevole. Altrimenti, i tuoi dati possono prendere tutta la memoria disponibile e la tua distribuzione esaurisce le risorse.

maxmemory-policy

Politiche di sfratto di Redis disponibili
Politica Modalità di funzionamento
noeviction Non elimina le chiavi e restituisce un errore quando viene raggiunto il limite maxmemory.
allkeys-lfu Conserva le chiavi utilizzate più di frequente e rimuove le chiavi LFU (least Frequently used).
volatile-lfu Rimuove le chiavi utilizzate meno frequentemente con il campo di scadenza impostato su true.
allkeys-lru Evoca prima le chiavi LRU (less recently used).
volatile-lru Richiama le chiavi LRU (less recently used) dalla serie di chiavi che scadono per prime.
allkeys-random Chiavi di sgombero casuali.
volatile-random Evoca le chiavi in modo casuale dalla serie di chiavi che scadono.
volatile-ttl Elimina le chiavi che scadono e tenta di eliminare le chiavi con un TTL (time to live) più breve.

Con una politica allkeys, l'algoritmo sceglie quali chiavi eliminare dalla serie di tutte le chiavi. Con una politica volatile, l'algoritmo sceglie di eliminare le chiavi che sono scadute o che hanno un TTL(time - to - live) impostato. In una politica volatile, se nessuna chiave corrisponde alla politica, non viene annullata alcuna chiave.

Altre impostazioni

Impostazioni della cache diRedis
Politica Modalità di funzionamento Note
appendonly Valore predefinito, yes. Abilita la scrittura dei dati Redis su disco. Se si stanno memorizzando nella cache i dati, si desidera impostare questo valore su no.
stop-writes-on-bgsave-error Valore predefinito, yes. Redis smette di accettare le scritture se rileva un'istantanea di backup non riuscita. Per la memorizzazione nella cache, è possibile impostare su no.
maxmemory-samples Regola l'algoritmo LRU, valore predefinito 5. Algoritmo LRU approssimato

Impostazione di una cache di esempio

Per modificare la configurazione della distribuzione, inviare un oggetto JSON con le impostazioni che si desidera modificare e i relativi nuovi valori.

È possibile utilizzare CONFIG SET direttamente da un client client Redis, ma le modifiche apportate non sono permanenti. Usare 'Cloud Databases 'Plug-in CLI o 'API per modificare il file di configurazione dell'installazione client. Ulteriori informazioni si trovano in Modifica della tua configurazione di Redis.

Ad esempio, la documentazione Redis consiglia l'impostazione allkeys-lru come buon punto di partenza per una cache di uso generale. È inoltre possibile lasciare maxmemory e maxmemory-samples ai valori predefiniti.

Per configurare la cache dalla CLI, si può utilizzare la seguente procedura:

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

Per impostare la stessa configurazione attraverso l'API, si può usare quanto segue:

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