Parámetros específicos del motor - Amazon MemoryDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Parámetros específicos del motor

Si no especifica un grupo de parámetros para su OSS clúster de Valkey o Redis, se utilizará un grupo de parámetros predeterminado adecuado a la versión de su motor. No puede cambiar los valores de los parámetros de un grupo de parámetros predeterminado. Sin embargo, puede crear un grupo de parámetros personalizado y asignarlo a su clúster en cualquier momento, siempre y cuando los valores de los parámetros modificables condicionalmente sean iguales en ambos grupos de parámetros. Para obtener más información, consulte Creación de un grupo de parámetros.

Cambios en los parámetros de Valkey 7 y Redis OSS 7

nota

MemoryDB introdujo la búsqueda vectorial, que incluye un nuevo grupo de parámetros inmutable. default.memorydb-valkey7.search Este grupo de parámetros está disponible en la consola de MemoryDB y al crear un nuevo vector-search-enabled clúster mediante el comando create-cluster. CLI La versión preliminar está disponible en las siguientes AWS regiones: EE.UU. Este (Norte de Virginia), EE.UU. Este (Ohio), EE.UU. Oeste (Oregón), Asia Pacífico (Tokio) y Europa (Irlanda).

Familia de grupos de parámetros: memorydb_valkey7

Los parámetros agregados en Valkey 7 y Redis 7 son los siguientes. OSS

Nombre Detalles Descripción
latency-tracking

Valores permitidos: yes, no

Valor predeterminado: no

Tipo: cadena

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

Cuando se establece en sí, realiza un seguimiento de las latencias por comando y permite exportar la distribución de percentiles mediante el comando de estadísticas de latencia INFO y las distribuciones de latencia acumulada (histogramas) mediante el comando LATENCY.

hash-max-listpack-entries

Valores permitidos: 0+

Valor predeterminado: 512

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

El número máximo de entradas de hash para comprimir el conjunto de datos.

hash-max-listpack-value

Valores permitidos: 0+

Valor predeterminado: 64

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

El umbral de entradas de hash más grandes para comprimir el conjunto de datos.

zset-max-listpack-entries

Valores permitidos: 0+

Valor predeterminado: 128

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

El número máximo de entradas de conjuntos ordenados para comprimir el conjunto de datos.

zset-max-listpack-value

Valores permitidos: 0+

Valor predeterminado: 64

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

El umbral de entradas de conjuntos ordenados más grandes para comprimir el conjunto de datos.

search-enabled

Valores permitidos: yes, no

Valor predeterminado: no

Tipo: cadena

Modificable: sí

Los cambios surten efecto: solo para los clústeres nuevos.

Versión mínima del motor: 7.1

Cuando se establece en sí, habilita las capacidades de búsqueda.

search-query-timeout-ms

Valores permitidos: 1 - 60,000

Valor predeterminado: 10,000

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

Versión mínima del motor: 7.1

El tiempo máximo en milisegundos que puede ejecutarse una consulta de búsqueda.

Los parámetros modificados en Redis OSS 7 son los siguientes.

Nombre Detalles Descripción
activerehashing

Modificable: no. En Redis OSS 7, este parámetro está oculto y activado de forma predeterminada. Para desactivarlo, debe crear un caso de soporte.

Modificable era sí.

Los parámetros eliminados en Redis OSS 7 son los siguientes.

Nombre Detalles Descripción
hash-max-ziplist-entries

Valores permitidos: 0+

Valor predeterminado: 512

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

Use listpack en lugar de ziplist para representar una codificación de hash pequeña

hash-max-ziplist-value

Valores permitidos: 0+

Valor predeterminado: 64

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

Use listpack en lugar de ziplist para representar una codificación de hash pequeña

zset-max-ziplist-entries

Valores permitidos: 0+

Valor predeterminado: 128

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

Use listpack en lugar de ziplist para representar una codificación de hash pequeña.

zset-max-ziplist-value

Valores permitidos: 0+

Valor predeterminado: 64

Tipo: número entero

Modificable: sí

Los cambios surten efecto: inmediatamente en todos los nodos del clúster.

Use listpack en lugar de ziplist para representar una codificación de hash pequeña.

Parámetros de Redis 6 OSS

nota

En la versión 6.2 OSS del motor Redis, cuando se introdujo la familia de nodos r6gdOrganización de datos en niveles, solo se admitían políticas de allkeys-lru memoria máxima con los noeviction tipos volatile-lru de nodos r6gd.

Familia de grupos de parámetros: memorydb_redis6

Los parámetros agregados en Redis 6 son los siguientes. OSS

Nombre Detalles Descripción
maxmemory-policy

Tipo: STRING

Valores permitidos: volatile-lru, allkeys-lru, volatile-lfu, allkeys-lfu, volatile-random, allkeys-random, volatile-ttl, noeviction

El valor predeterminado es noeviction

Política de expulsión de claves cuando se alcanza el uso máximo de la memoria.

Para obtener más información, consulte Uso de Redis OSS como LRU caché Uso de Redis OSS como caché. LRU

list-compress-depth

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 0

La profundidad de compresión es el número de nodos de listas comprimidas de listas rápidas de ambos lados de la lista que se excluirán de la compresión. El principio y el final de la lista están siempre sin comprimir para agilizar las operaciones de inserción y extracción. Los valores son los siguientes:
  • 0: deshabilitar toda la compresión.

  • 1: comenzar a comprimir con el primer nodo a partir del principio y el final.

    [principio]->nodo->nodo->...->nodo->[final]

    Se comprimen todos los nodos excepto los nodos [principio] y [final].

  • 2: comenzar a comprimir con el segundo nodo a partir del principio y el final.

    [principio]->[siguiente]->nodo->nodo->...->nodo->[penúltimo]->[final]

    Los nodos [principio], [siguiente], [penúltimo] y [final] no se comprimen. Todos los demás nodos se comprimen.

  • etc.

hll-sparse-max-bytes

Tipo: INTEGER

Valores permitidos: 1-16000

Predeterminado: 3000

HyperLogLog límite de bytes de representación dispersa. El límite incluye el encabezado de 16 bytes. Cuando el HyperLogLog uso de la representación dispersa cruza este límite, se convierte en la representación densa.

No se recomienda usar un valor superior a 16 000, ya que en ese punto, la representación densa es más eficaz desde el punto de vista de la memoria.

Se recomienda usar un valor próximo a 3000 con el fin de disponer de los beneficios de la codificación eficaz desde el punto de vista del espacio sin ralentizar demasiado PFADD, que está habilitado con la codificación dispersa. El valor se puede aumentar a ~10000 cuando no CPU es un problema, pero el espacio sí, y el conjunto de datos está compuesto por muchos HyperLogLogs con una cardinalidad en el rango de 0 a 15000.

lfu-log-factor

Tipo: INTEGER

Valores permitidos: 1-

Predeterminado: 10

El factor logarítmico para incrementar el contador de claves para la política de LFU desalojos.

lfu-decay-time

Tipo: INTEGER

Valores permitidos: 0-

Valor predeterminado: 1

La cantidad de tiempo en minutos necesaria para reducir el contador clave de la política de LFU desalojos.

active-defrag-max-scan-fields

Tipo: INTEGER

Valores permitidos: 1-1000000

Predeterminado: 1000

Número máximo de set/hash/zset/list campos que se procesarán a partir del escaneo principal del diccionario durante la desfragmentación activa.

active-defrag-threshold-upper

Tipo: INTEGER

Valores permitidos: 1-100

Predeterminado: 100

Porcentaje máximo de fragmentación en el que usará el máximo esfuerzo.

client-output-buffer-limit-pubsub-hard-limit

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 33554432

Para los clientes de OSS publicación/suscripción de Redis: si el búfer de salida de un cliente alcanza el número de bytes especificado, el cliente se desconectará.

client-output-buffer-limit-pubsub-soft-limit

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 8388608

Para los clientes de OSS publicación/suscripción de Redis: si el búfer de salida de un cliente alcanza el número de bytes especificado, el cliente se desconectará, pero solo si esta condición persiste durante client-output-buffer-limit-pubsub-soft-seconds.

client-output-buffer-limit-pubsub-soft-seconds

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 60

Para los clientes de OSS publicación/suscripción de Redis: si el búfer de salida de un cliente permanece en client-output-buffer-limit-pubsub-soft-limit bytes durante más de este número de segundos, el cliente se desconectará.

timeout

Tipo: INTEGER

Valores permitidos: 0,20-

Predeterminado: 0

Número de segundos que un nodo espera antes de caducar. Valores son los siguientes:

  • 0: no desconectar nunca un cliente inactivo.

  • 1-19: valores no válidos.

  • >=20: número de segundos que un nodo espera antes de desconectar un cliente inactivo.

notify-keyspace-events

Tipo: STRING

Valores permitidos: NULL

Predeterminado: NULL

Los eventos del espacio de claves sobre los que Redis notifica OSS a los clientes de Pub/Sub. Todas las notificaciones están desactivadas de forma predeterminada.

maxmemory-samples

Tipo: INTEGER

Valores permitidos: 1-

Valor predeterminado: 3

Para time-to-live (TTL) los cálculos least-recently-used (LRU) y cálculos, este parámetro representa el tamaño de la muestra de las claves que se van a comprobar. De forma predeterminada, Redis OSS elige 3 claves y usa la que se usó menos recientemente.

slowlog-max-len

Tipo: INTEGER

Valores permitidos: 0-

Valor predeterminado: 128

La longitud máxima del registro OSS lento de Redis. Esta longitud no tiene límite. Solo tenga en cuenta que consumirá memoria. Puede recuperar la memoria utilizada por el registro lento con SLOWLOG RESET.

activerehashing

Tipo: STRING

Valores permitidos: sí, no

Valor predeterminado: yes

La tabla de hash principal se repite diez veces por segundo; cada operación de repetición consume 1 milisegundo de tiempo. CPU

Este valor se establece al crear el grupo de parámetros. Cuando se asigne un nuevo grupo de parámetros a un clúster, este valor debe ser el mismo tanto en el nuevo grupo de parámetros como en el anterior.

client-output-buffer-limit-normal-hard-limit

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 0

Si el búfer de salida de un cliente alcanza el número de bytes especificado, el cliente se desconectará. El valor predeterminado es cero (sin límite flexible).

client-output-buffer-limit-normal-soft-limit

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 0

Si el búfer de salida de un cliente alcanza el número de bytes especificado, el cliente se desconectará solo si esta condición se mantiene durante client-output-buffer-limit-normal-soft-seconds. El valor predeterminado es cero (sin límite duro).

client-output-buffer-limit-normal-soft-seconds

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 0

Si el búfer de salida de un cliente permanece en client-output-buffer-limit-normal-soft-limit bytes por un periodo superior a este número de segundos, el cliente se desconectará. El valor predeterminado es cero (sin límite de tiempo).

tcp-keepalive

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 300

Si se establecen un valor distinto de cero (N), los clientes de nodo se sondearán cada N segundos para asegurarse de que siguen conectados. Con el valor predeterminado 0, el sondeo se desactiva.

active-defrag-cycle-min

Tipo: INTEGER

Valores permitidos: 1-75

Predeterminado: 5

Esfuerzo mínimo de desfragmentación en CPU porcentaje.

stream-node-max-bytes

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 4096

La estructura de datos de secuencia es un árbol de prefijos de nodos que contiene varios elementos. Utilice esta configuración para especificar el tamaño máximo de un único nodo de un árbol de prefijos in bytes. Si se establece en 0, el tamaño del nodo del árbol es ilimitado.

stream-node-max-entries

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 100

La estructura de datos de secuencia es un árbol de prefijos de nodos que contiene varios elementos. Utilice esta configuración para especificar el número máximo de elementos que puede contener un único nodo antes de cambiar a un nodo nuevo al agregar entradas nuevas de secuencia. Si se establece en 0, el número de elementos del nodo del árbol es ilimitado.

lazyfree-lazy-eviction

Tipo: STRING

Valores permitidos: sí, no

Valor predeterminado: no

Realiza una eliminación asíncrona en las expulsiones.

active-defrag-ignore-bytes

Tipo: INTEGER

Valores permitidos: 1048576-

Predeterminado: 104857600

Cantidad mínima de restos de fragmentación para comenzar la desfragmentación activa.

lazyfree-lazy-expire

Tipo: STRING

Valores permitidos: sí, no

Valor predeterminado: no

Realiza una eliminación asíncrona en las claves vencidas.

active-defrag-threshold-lower

Tipo: INTEGER

Valores permitidos: 1-100

Predeterminado: 10

Porcentaje mínimo de fragmentación para comenzar la desfragmentación activa.

active-defrag-cycle-max

Tipo: INTEGER

Valores permitidos: 1-75

Predeterminado: 75

Esfuerzo máximo de desfragmentación en porcentaje. CPU

lazyfree-lazy-server-del

Tipo: STRING

Valores permitidos: sí, no

Valor predeterminado: no

Realiza una eliminación asíncrona de los comandos que actualizan valores.

slowlog-log-slower-than

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 10000

El tiempo máximo de ejecución, en microsegundos, que debe superarse para que la función Redis OSS Slow Log registre el comando. Tenga en cuenta que un número negativo desactiva el registro lento, mientras que un valor de cero fuerza el registro de todos los comandos.

hash-max-ziplist-entries

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 512

Determina la cantidad de memoria que usan los hash. Los hash con un número de entradas inferior al especificado se almacenan con una codificación especial que permite ahorrar espacio.

hash-max-ziplist-value

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 64

Determina la cantidad de memoria que usan los hash. Los hash con entradas de tamaño inferior al número de bytes especificado se almacenan con una codificación especial que permite ahorrar espacio.

set-max-intset-entries

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 512

Determina la cantidad de memoria que se usa para determinados tipos de conjuntos (cadenas que son enteros en base 10 en el rango de enteros con signo de 64 bits). Estos conjuntos con un número de entradas inferior al especificado se almacenan con una codificación especial que permite ahorrar espacio.

zset-max-ziplist-entries

Tipo: INTEGER

Valores permitidos: 0-

Valor predeterminado: 128

Determina la cantidad de memoria que se usa para los conjuntos ordenados. Los conjuntos ordenados con un número de elementos inferior al especificado se almacenan con una codificación especial que permite ahorrar espacio.

zset-max-ziplist-value

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 64

Determina la cantidad de memoria que se usa para los conjuntos ordenados. Los conjuntos ordenados con entradas de tamaño inferior al número de bytes especificado se almacenan con una codificación especial que permite ahorrar espacio.

tracking-table-max-keys

Tipo: INTEGER

Valores permitidos: 1-100000000

Valor predeterminado: 1000000

Para facilitar el almacenamiento en caché del lado del cliente, Redis OSS permite rastrear qué clientes han accedido a qué claves.

Cuando se modifica la clave rastreada, se envían mensajes de invalidación a todos los clientes para notificarles que sus valores almacenados en caché ya no son válidos. Este valor permite especificar el límite superior de esta tabla.

acllog-max-len

Tipo: INTEGER

Valores permitidos: 1-10000

Valor predeterminado: 128

El número máximo de entradas en el ACL registro.

active-expire-effort

Tipo: INTEGER

Valores permitidos: 1-10

Valor predeterminado: 1

Redis OSS elimina las claves que han sobrepasado su tiempo de vida mediante dos mecanismos. En uno, se accede a una clave y se encuentra que ha vencido. En el otro, un trabajo periódico muestra claves y hace que se venzan aquellas que han excedido su periodo de vida. Este parámetro define la cantidad de esfuerzo que Redis OSS utiliza para hacer caducar los elementos del trabajo periódico.

El valor predeterminado de 1 intenta evitar tener más del 10 % de las claves vencidas que todavía se encuentran en la memoria. También intenta evitar consumir más del 25 % de la memoria total y agregar latencia al sistema. Puede aumentar este valor hasta 10 para aumentar la cantidad de esfuerzo invertido en las claves vencidas. La desventaja es una latencia mayor CPU y, potencialmente, mayor. Recomendamos un valor de 1, a menos que esté registrando un uso elevado de la memoria y pueda tolerar un aumento de CPU la utilización.

lazyfree-lazy-user-del

Tipo: STRING

Valores permitidos: sí, no

Valor predeterminado: no

Especifica si el comportamiento predeterminado del comando DEL actúa igual que UNLINK.

activedefrag

Tipo: STRING

Valores permitidos: sí, no

Valor predeterminado: no

Desfragmentación de memoria activa habilitada.

maxclients

Tipo: INTEGER

Valores permitidos: 65000

Predeterminado: 65000

Número máximo de clientes que pueden conectarse a la vez. No modificable.

client-query-buffer-limit

Tipo: INTEGER

Valores permitidos: 1048576-1073741824

Predeterminado: 1073741824

Tamaño máximo de un búfer de consulta de cliente. Aplicación inmediata de los cambios.

proto-max-bulk-len

Tipo: INTEGER

Valores permitidos: 1048576-536870912

Predeterminado: 536870912

Tamaño máximo de una sola solicitud de elemento. Aplicación inmediata de los cambios.

Parámetros específicos de tipo de nodo de MemoryDB

Aunque la mayoría de los parámetros tienen un único valor, algunos parámetros tienen distintos valores en función del tipo de nodo que se use. La tabla siguiente muestra el valor predeterminado maxmemory para cada tipo de nodo. El valor de maxmemory es el número máximo de bytes disponibles para el uso, los datos y otros usos en el nodo.

Tipo de nodo Maxmemory
db.r7g.large 14037181030
db.r7g.xlarge 28261849702
db.r7g.2xlarge 56711183565
db.r7g.4xlarge 113609865216
db.r7g.8xlarge 225000375228
db.r7g.12xlarge 341206346547
db.r7g.16xlarge 450000750456
db.r6gd.xlarge 28261849702
db.r6gd.2xlarge 56711183565
db.r6gd.4xlarge 113609865216
db.r6gd.8xlarge 225000375228
db.r6g.large 14037181030
db.r6g.xlarge 28261849702
db.r6g.2xlarge 56711183565
db.r6g.4xlarge 113609865216
db.r6g.8xlarge 225000375228
db.r6g.12xlarge 341206346547
db.r6g.16xlarge 450000750456
db.t4g.small 1471026299
db.t4g.medium 3317862236
nota

Todos los tipos de instancias de MemoryDB deben crearse en una Amazon Virtual Private Cloud. VPC