Tair (compatible con Redis OSS) elimina automáticamente las claves caducadas mediante tres directivas integradas. Cuando el recuento de claves aumenta de forma inesperada a pesar de la configuración de caducidad, o cuando un gran lote de claves (de decenas a cientos de miles) caduca en un periodo breve, es posible que las directivas integradas no las limpien con suficiente rapidez. Este tema explica cómo funciona la caducidad automática y qué puede hacer para acelerar la limpieza.
Funcionamiento
Tair utiliza tres directivas para limpiar automáticamente las claves caducadas. Ninguna requiere acción manual.
Caducidad pasiva
Cuando un cliente accede a una clave, Tair comprueba si ha caducado. De ser así, la elimina de inmediato. La caducidad pasiva consume pocos recursos, pero solo se aplica a las claves a las que se accede; las que nunca vuelven a leerse permanecen en memoria hasta que otro mecanismo las elimine.
Caducidad activa
Dado que la caducidad pasiva por sí sola no basta para gestionar las claves a las que nunca se vuelve a acceder, Tair muestrea periódicamente las claves con tiempos de caducidad y elimina aquellas que ya han caducado.
Expulsión forzada
Cuando el uso de memoria alcanza el límite de maxmemory, Tair bloquea las operaciones, expulsa claves o genera un error de memoria insuficiente (OOM). De forma predeterminada, utiliza la directiva volatile-lru.
Para revisar o cambiar la directiva de expulsión, consulte el parámetro maxmemory-policy en Supported parameters.
Acelerar la limpieza de claves caducadas
Los siguientes métodos aceleran la limpieza de claves caducadas. Elija el más adecuado según su situación.
Usar Purge Data para una limpieza inmediata
La función Purge Data en la página de detalles de la instancia elimina todas las claves caducadas en el menor tiempo posible.
Esta operación consume recursos significativos de la instancia y puede afectar las cargas de trabajo en ejecución. Ejecútela fuera del horario de mayor actividad.
Para obtener instrucciones, consulte Purge data.
Programar la limpieza con CloudOps Orchestration Service
Utilice CloudOps Orchestration Service (OOS) para programar una tarea recurrente de operaciones y mantenimiento que elimine las claves caducadas fuera del horario de mayor actividad. Esto evita picos de recursos durante el horario laboral.
Para obtener instrucciones, consulte Periodically delete expired keys.
Aumentar la frecuencia de caducidad activa
El parámetro hz controla la frecuencia con la que Tair ejecuta sus tareas en segundo plano, incluida la caducidad activa. Al aumentar hz, Tair muestrea y elimina las claves caducadas con mayor frecuencia.
Un valor más alto de hz incrementa el consumo de CPU. Aumente el valor en incrementos de 10 y supervise la utilización de la CPU después de cada cambio para evitar sobrecargar la instancia.
Para obtener instrucciones, consulte Habilitar el control dinámico de frecuencia para tareas en segundo plano.
Establecer TTL en las claves
Si sus claves no tienen un tiempo de caducidad configurado, se acumulan indefinidamente. Asigne un tiempo de vida (TTL) a las claves según el tiempo que realmente se necesiten los datos. Esto evita el almacenamiento prolongado de datos obsoletos y reduce la probabilidad de acumulaciones futuras.