Políticas de Redis MaxMemory

Políticas de Redis MaxMemory
Este artículo discutirá la política de Redis MaxMemory y cómo puede usarla como un caché LRU.

¿Qué es la política de desalojo de redis??

Como su nombre indica, una política de desalojo es una característica que permite a Redis "desalojar" o eliminar los datos antiguos a medida que se agregan nuevos datos. Esta es una característica increíble principalmente cuando Redis se usa como sistema de almacenamiento en caché.

Directiva Redis MaxMemory

En el archivo de configuración de Redis, una directiva llamada MaxMemory dicta la cantidad de memoria asignada para un conjunto de datos.

Aunque puede configurar el MaxMemory en tiempo de ejecución utilizando el comando config set, Redis.El archivo confle le permite configurarlo en modo de persistencia.

Para establecer el valor MaxMemory en tiempo de ejecución, inicie sesión en Redis CLI e ingrese el comando:

config set maxMemory 100

El comando anterior establecerá el valor MaxMemory en 100 MB en tiempo de ejecución. Puede obtener el valor establecido actual para MaxMemory usando el comando:

127.0.0.1: 6379> config Obtener maxMemory*

Esto debería volver:

1) "MaxMemory-Policy"
2) "NOEVICCIÓN"
3) "MaxMemory-Samples"
4) "5"
5) "MaxMemory"
6) "100"

El primero es la política de desalojo. Esto dicta cómo se eliminan los datos después de alcanzar la MaxMemory.

Nota: Establecer el MaxMemory en 0 asegura que no haya límites. Para los sistemas de 64 bits, esto está configurado como predeterminado. En sistemas de 332 bits, Redis usará hasta 3GB.

Cómo funciona el proceso de desalojo

Pero, ¿cómo funciona exactamente este proceso de desalojo??

Eso sucede en 4 simples pasos.

  1. Primero, el cliente ejecuta el comando para agregar nuevos datos.
  2. Antes de que se ejecute el comando, redis verifique si el uso de la memoria es más alto que el límite SET maxMemory.
  3. Si se alcanza el límite, utiliza la política de desalojo especificada para eliminar las claves.
  4. Finalmente, el comando se ejecuta y se agregan nuevos datos.

Políticas de desalojo de redis

Seguimos mencionando las políticas de desalojo. ¿Qué son y qué hacen??

En términos simples, una política de desalojo establece las reglas de cómo redis desaloja una clave cuando se alcanza el límite de memoria.

Hay dos categorías de políticas de desalojo en Redis.

Políticas generales de desalojo

La primera categoría son las políticas generales de desalojo. Estas políticas se aplican a cualquier clave que no tenga un valor de vencimiento.

Incluyen:

Noevicción

Esta política de desalojo le dice a Redis que no elimine los datos cuando se alcanza el límite de memoria. En su lugar, Redis devolverá un error y no puede ejecutar el comando Agregar datos.

Esta política es muy aplicable cuando necesita eliminar las claves manualmente o evitar la pérdida de datos accidentales.

Allkeys-lru

La segunda política es Allkeys-Lru. Este tipo de política desalienta cualquier clave menos utilizada recientemente o LRU.

Esta política supone que no necesita las claves recientemente utilizadas y las desaloja. Evita que redis se equivoce en caso de un límite de memoria.

Allkeys-sandom

Esta política eliminará las claves en cualquier orden aleatorio. Esta es una excelente política cuando las claves en su base de datos son de igual importancia.

Políticas de desalojo volátiles

Estos tipos de políticas de desalojo se basan en claves con valores de vencimiento. Incluyen:

Volatie-Landom

Esta política de desalojo elimina las claves con un valor de vencimiento en cualquier orden aleatorio. Es similar a la política de altaje-aleatorio, excepto que solo elimina las claves caducadas.

Ttl volátil

La política de TTL volátil elimina las claves con un tiempo de vencimiento, pero elige la que tiene el más corto tiempo para vivir primero.

Volátil-lru

Similar a Volatile-TTL pero primero elimina las teclas menos utilizadas.

Conclusión

Esta es una introducción a Redis MaxMemory y Políticas de desalojo. Puede obtener más información sobre las reglas de desalojo de redis en el recurso a continuación.

https: // redis.IO/Temas/LRU-Cache