Configuración de Redis como memoria caché
IBM Cloud® Databases for Redis permite cambiar la configuración de la base de datosRedis, y se puede utilizar para configurar Redis como caché. Cuando se configura como una memoria caché, Redis desaloja datos antiguos a favor de datos nuevos de acuerdo con los valores de memoria caché que defina. Incluso cuando se configura como una memoria caché,
los despliegues de Databases for Redis todavía toman una instantánea de copia de seguridad diaria. Actualmente no es posible inhabilitar las copias de seguridad en el despliegue. También escriben algunos datos en disco para alta disponibilidad.
Redis funciona copiando un archivo .rdb
para resincronizar los seguidores.
Configuración de la memoria caché
Para configurar la memoria caché, ajuste los valores maxmemory
y maxmemory
del despliegue. maxmemory
define el tamaño de la memoria caché. Y maxmemory-policy
define el comportamiento de desalojo
cuando se alcanza el límite de maxmemory
. Además, otros valores se encargan de las operaciones y el ajuste de las bases de datos.
maxmemory
De forma predeterminada, maxmemory
se establece en el 80 % de la memoria disponible de un nodo de datos, para que el nodo no se quede sin recursos del sistema. Puede ajustar este valor, pero establecer un límite razonable. De
lo contrario, puede ocurrir que los datos utilicen toda la memoria disponible y el despliegue se quede sin recursos.
maxmemory-policy
Política | Comportamiento |
---|---|
noeviction |
No desaloja las claves y devuelve un error cuando se alcanza el límite de maxmemory . |
allkeys-lfu |
Mantiene las claves utilizadas con frecuencia y elimina las claves utilizadas con menos frecuencia (LFU). |
volatile-lfu |
Elimina las claves utilizadas con menos frecuencia con el campo de caducidad establecido en true. |
allkeys-lru |
Desaloja primero las claves menos utilizadas recientemente (LRU). |
volatile-lru |
Desaloja las claves menos utilizadas recientemente (LRU) del conjunto de claves que caducan primero. |
allkeys-random |
Desaloja claves de forma aleatoria. |
volatile-random |
Desaloja claves aleatoriamente del conjunto de claves que caducan. |
volatile-ttl |
Desaloja las claves que caducan e intenta desalojar primero las claves que tienen un tiempo de vida más corto (TTL). |
Con una política allkeys
, el algoritmo elige qué claves desalojar del conjunto de todas las claves. Con una política volatile
, el algoritmo elige desalojar las claves que tienen caducidad o tiempo de vida (TTL) establecido. En una política volatile
, si no hay claves que coincidan con la política, no se
desalojará ninguna clave.
Otros valores
Política | Comportamiento | Notas |
---|---|---|
appendonly |
Valor predeterminado, yes . Permite grabar en disco los datos de Redis. |
Si está almacenando datos en la memoria caché, desea establecer este valor en no . |
stop-writes-on-bgsave-error |
Valor predeterminado, yes . Redis deja de aceptar grabaciones si detecta una instantánea de copia de seguridad incorrecta. |
Para el almacenamiento en memoria caché, puede establecer este valor en no . |
maxmemory-samples |
Ajusta el algoritmo de LRU, valor predeterminado, 5 . |
Algoritmo LRU aproximado |
Definición de una memoria caché de ejemplo
Para ajustar la configuración del despliegue, envíe un objeto JSON con los valores que desea cambiar y sus nuevos valores.
Puede utilizar CONFIG SET
directamente desde un cli-client de Redis, pero los cambios realizados no son permanentes. Utilice el plug-in CLI o la API Cloud Databases CLI o API para cambiar el archivo de configuración de su despliegue. Encontrará más información en Cambiar la configuración de Redis.
Por ejemplo, la documentación de Redis recomienda el valor allkeys-lru
como un buen punto de partida para una memoria caché de uso general. También es correcto dejar maxmemory
y maxmemory-samples
en sus
valores predeterminados.
Para configurar la caché desde la CLI, puede utilizar lo siguiente:
ibmcloud cdb deployment-configuration '<INSTANCE_NAME_OR_CRN>' '{"configuration":{"maxmemory-policy":"allkeys-lru", "appendonly":"no", "stop-writes-on-bgsave-error":"no"}}'
Para establecer la misma configuración a través de la API, puede utilizar lo siguiente:
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"
}
}'