En esta página, se describen las políticas de maxmemory y otras opciones de configuración de Redis disponibles de Memorystore para Redis. No es necesario reiniciar la instancia de Redis si ajustas una configuración.
Si deseas obtener instrucciones para modificar las configuraciones que se enumeran a continuación, consulta Configura instancias de Redis.
Políticas de maxmemory
Cuando la memoria de tu instancia de Redis está llena y llega una escritura nueva, Redis expulsa las claves fin de dejar espacio para la escritura según la política de maxmemory de tu instancia. La política de maxmemory predeterminada de Memorystore para Redis es volatile-lru
. También puedes usar una de las siguientes políticas de maxmemory:
noeviction
: Muestra un error cuando la instancia de Redis alcanza maxmemory. No reemplaza ni expulsa datos.allkeys-lfu
: Disponible en Redis versión 4.0 o posterior. Expulsa las claves usadas con menor frecuencia (LFU) de todo el conjunto de claves.allkeys-lru
: Expulsa las claves que se usaron menos recientemente (LRU) del conjunto de claves completo.volatile-lfu
: Disponible en Redis versión 4.0 o posterior. Expulsa las claves usadas con menor frecuencia que se establecen con vencimientos TTL (tiempo de actividad).volatile-lru
: Expulsa las claves usadas con menor frecuencia (LRU) que se configuran con vencimientos de TTL.allkeys-random
: Expulsa claves aleatorias de todo el espacio de claves.volatile-random
: Expulsa claves aleatorias de entre las que tienen vencimiento TTL.volatile-ttl
: expulsa las claves con el TTL más corto de entre los conjuntos con caducidad de TTL.
Parámetros de configuración modificables
Puedes modificar los siguientes parámetros cuando creas o actualizas una instancia de Memorystore para Redis.
Parámetro | Descripción | Valores aceptables |
---|---|---|
activedefrag | Redis versión 4.0 o posterior. Funciona para liberar memoria de instancia vinculada por el comportamiento de fragmentación de memoria de OSS estándar de Redis. | no (predeterminado)yes |
lfu-decay-time | Redis versión 4.0 o posterior. El tiempo, en minutos, antes de que el recuento de frecuencia de la LFU correspondiente a una clave determinada se dividirá por dos (o, si el recuento es inferior a 10 y disminuye de a 1). Consulta el archivo REDIS.CONF para obtener información adicional. | Números enteros positivos del tipo de datos "long" (predeterminado=1) |
lfu-log-factor | Redis versión 4.0 o posterior. Determina cómo el contador de frecuencia representa los hits clave. Antes de modificar la configuración predeterminada, lee cómo funciona la configuración lfu-log-factor en el archivo REDIS.CONF. |
Números enteros positivos del tipo datos "long" (predeterminado=10) |
maxmemory-gb | Designa un límite ajustable en el que se implementa la política de expulsión.
Por ejemplo, si tienes una instancia de 10 GB y estableces maxmemory-gb en 8 , tu política de expulsión entrará en vigencia cuando tus datos ocupen 8 GB de memoria de instancia. Esto te deja 2 GB de memoria como sobrecarga. De forma predeterminada, maxmemory-gb se configura como la capacidad de tu instancia. Si deseas obtener detalles sobre para usar mejor la configuración maxmemory-gb , consulta las prácticas recomendadas de administración de memoria de Memorystore.Esta configuración se muestra como maxmemory-percent en Google Cloud Console. Cuando usas la consola, configuras maxmemory-percent como un porcentaje de la capacidad de tu instancia en lugar de una cantidad específica de GB.
|
Cantidad de GB expresado como número entero o decimal. Ejemplos: 10 designa un maxmemory-gb de 10 GB.1.5 designa un maxmemory-gb de 1.5 GB.maxmemory-gb se puede reducir a un mínimo del 20% de la capacidad de tu instancia.
|
maxmemory-policy | Especifica el comportamiento que Redis sigue cuando los datos de la instancia alcanzan el límite de maxmemory-gb . Consulta Políticas de Maxmemory para obtener una descripción del comportamiento de cada política.Para obtener información adicional sobre las políticas de código abierto de Redis de código abierto, consulta la página de caché de LRU de Redis de código abierto. |
noeviction allkeys-lru volatile-lru (predeterminado)allkeys-random volatile-random volatile-ttl volatile-lfu (Redis 4.0 y versiones posteriores)allkeys-lfu (Redis 4.0 y versiones posteriores)
|
notify-keyspace-events | Permite a los clientes suscribirse a notificaciones de ciertos eventos de espacio clave. Consulta la página Notificaciones de espacio de claves de Redis en el sitio de Redis para obtener más información. | "" (predeterminado)K Eventos de espacio de claves, publicados con el prefijo __keyspace@ E Eventos de Keyevent, publicados con el prefijo __keyevent@ g Comandos genéricos (no específico de los tipos), como DEL, EXPIRE o RENAME $ Comandos de string l Comandos de lista s Comandos de configuración h Comandos hash z Comandos de conjunto ordenado x Eventos vencidos (eventos generados cada vez que vence una clave) e Eventos expulsados (eventos generados cuando se expulsa una clave para maxmemory) A Alias para g$lshzxe, de modo que la string “AKE” se refiera a todos los eventos. |
stream-node-max-bytes |
Redis versión 5.0 o posterior. La estructura de datos de transmisión de Redis usa un árbol de radix para almacenar elementos. El parámetro stream-node-max-bytes designa la cantidad máxima de bytes disponibles para almacenar elementos en un solo nodo del árbol. Una vez que se alcanza este límite, se almacenan elementos nuevos en un nodo de árbol nuevo. |
Los números enteros 0 y posteriores. (predeterminado=4096) 0 designa un nodo de árbol de tamaño ilimitado. |
stream-node-max-entries |
Redis versión 5.0 o posterior. La estructura de datos de transmisión de Redis usa un árbol de radix para almacenar elementos. El parámetro stream-node-max-entries designa la cantidad de elementos que se pueden almacenar en un solo nodo. Cuando se alcanza este límite, los elementos nuevos se almacenan en un nodo nuevo del árbol. |
Los números enteros 0 y posteriores. (predeterminado=100) 0 designa un nodo de árbol con una cantidad ilimitada de elementos. |
timeout |
La cantidad de segundos antes de que finalicen las conexiones de clientes inactivas. Sin embargo, si timeout se configura como 0 , los clientes inactivos no agotan el tiempo de espera y permanecen conectados hasta que el cliente emite la rescisión.
|
0 (predeterminado) Números enteros = 120 Unidad = segundos |
Parámetros de configuración no modificables
En la tabla siguiente, se enumeran los parámetros de configuración de Redis que no puedes modificar en Memorystore para Redis y sus valores predeterminados. Consulta la documentación sobre la configuración de Redis para obtener información detallada sobre estos parámetros de configuración.
Parámetro | Valor predeterminado |
---|---|
lua-time-limit |
5000 |
hash-max-ziplist-entries |
2,048 |
hash-max-ziplist-value |
1,024 |
list-max-ziplist-size |
-2 |
list-compress-depth . |
0 |
set-max-intset-entries |
512 |
zset-max-ziplist-entries |
1,024 |
zset-max-ziplist-value |
1,024 |
hll-sparse-max-byte |
3000 |
activerehashing |
sí |
hz |
10 |
databases |
16 |
maxclients |
65000 |
slowlog-log-slower-than |
10000 |
slowlog-max-len |
128 |
repl-diskless-load |
swapdb |
io-threads-do-reads |
sí |
¿Qué sigue?
- Más información sobre las configuraciones de Redis en la página de configuración de Redis de código abierto