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 se especifica ningún grupo de parámetros para el clúster de Valkey o Redis OSS, se usará un grupo de parámetros predeterminado apropiado para la versión del 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 presentó una búsqueda vectorial que incluye un nuevo grupo de parámetros inmutables default.memorydb-valkey7.search. Este grupo de parámetros está disponible en la consola MemoryDB y al crear un nuevo clúster habilitado para la búsqueda vectorial mediante el comando CLI create-cluster. Puede utilizar esta característica en las siguientes regiones de AWS: Este de EE. UU. (Norte de Virginia, Este de EE. UU. (Ohio), Oeste de EE. UU. (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 OSS 7 son los siguientes.

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

Intervalo máximo de tiempo en milisegundos durante el que se puede ejecutar una consulta de búsqueda.

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

Nombre Detalles Descripción
activerehashing

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

Modificable era sí.

Los parámetros eliminados de 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 OSS 6

nota

En la versión 6.2 del motor de Redis OSS, cuando se introdujo la familia de nodos r6gd para su uso con Organización de datos en niveles, solo las políticas max-memory noeviction, volatile-lru y allkeys-lru se admiten con tipos de nodos r6gd.

Familia de grupos de parámetros: memorydb_redis6

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

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 una caché de 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

Límite de bytes de representación dispersa de HyperLogLog. El límite incluye el encabezado de 16 bytes. Cuando un HyperLogLog que usa representación dispersa supera este límite, se convierte a 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 puede incrementarse hasta aproximadamente 10 000 cuando la CPU no sea un problema, pero sí lo sea el espacio y cuando el conjunto de datos esté compuesto por numerosos HyperLogLogs con la cardinalidad entre 0 y 15 000.

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 desalojos de la LFU.

lfu-decay-time

Tipo: INTEGER

Valores permitidos: 0-

Valor predeterminado: 1

Tiempo en minutos para disminuir el contador de claves para la política de expulsión de LFU.

active-defrag-max-scan-fields

Tipo: INTEGER

Valores permitidos: 1-1000000

Predeterminado: 1000

Número máximo de campos set/hash/zset/list que se procesarán desde el análisis del diccionario principal 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 clientes de publicación/suscripción de Redis OSS: 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 clientes de publicación/suscripción de Redis OSS: 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-pubsub-soft-seconds.

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

Tipo: INTEGER

Valores permitidos: 0-

Predeterminado: 60

Para clientes de publicación/suscripción de Redis OSS: si el búfer de salida de un cliente permanece en client-output-buffer-limit-pubsub-soft-limit bytes por un tiempo superior a 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: NULO

Valor predeterminado: NULO

Los eventos del espacio de claves sobre los que Redis OSS debe notificar a los clientes de publicación/suscripción. Todas las notificaciones están desactivadas de forma predeterminada.

maxmemory-samples

Tipo: INTEGER

Valores permitidos: 1-

Valor predeterminado: 3

Para los cálculos de elementos menos usados recientemente (LRU) y time-to-live (TTL), este parámetro representa el tamaño de muestra de las claves que se deben 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

Tamaño máximo de la característica Slow Log de Redis OSS. 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 recombina diez veces por segundo; cada operación de recombinación consume 1 milisegundo de tiempo de procesamiento de la 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 para desfragmentar en porcentaje de CPU.

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 para desfragmentar en porcentaje de 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

Tiempo de ejecución máximo, en microsegundos, que debe superarse para que los comandos se registren con la característica Slow Log de Redis OSS. 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 ayudar al almacenamiento en caché del lado del cliente, Redis OSS admite el seguimiento de 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 registro ACL.

active-expire-effort

Tipo: INTEGER

Valores permitidos: 1-10

Valor predeterminado: 1

Redis OSS elimina las claves que han superado su periodo de vida por 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 vencer elementos en el 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 mayor CPU y una latencia potencialmente mayor. Recomendamos un valor de 1 a menos que vea un uso elevado de memoria y pueda tolerar un aumento en la utilización de la CPU.

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 instancia de MemoryDB se deben crear en una Amazon Virtual Private Cloud VPC.