Mecanismo de eliminación de Redis

Todos sabemos que el tiempo de caducidad se puede establecer cuando Redis almacena en caché, entonces, ¿cómo reconoce Redis que esta clave ha caducado y borra la clave?

Cuando la memoria de redis está llena, ¿por qué puedo seguir escribiendo caché? Y se borrarán algunas claves, ¿cuál es el motivo?

Los problemas anteriores involucran la estrategia de vencimiento de Redis y el mecanismo de eliminación, podemos echar un vistazo.

¿Por qué los redis deberían tener un mecanismo de eliminación?

  La existencia del mecanismo de eliminación de redis es utilizar mejor la memoria y utilizar una cierta pérdida de caché a cambio de la eficiencia de la memoria.

Estrategia de vencimiento de Redis

  Redis tiene dos estrategias de vencimiento, eliminación regular y eliminación diferida

    • Eliminación periódica : Redis extrae aleatoriamente algunas claves con un tiempo de vencimiento cada 100 ms, verifica si están vencidas y las elimina si caducan.
    • Eliminar inerte : la adquisición de un momento clave, Redis cheque, si la clave establece una fecha de caducidad se determina si o no haya transcurrido el tiempo de caducidad, si borrar directamente la expiró no devuelve nada.

Redis mecanismo de eliminación de memoria

  Cuando la memoria de redis está casi agotada, redis iniciará el mecanismo de eliminación de memoria y borrará algunas teclas para liberar memoria.

  Redis proporciona 6 estrategias de eliminación de datos, que se pueden configurar en redis.conf : maxmemory-policy noeviction

  • novicción : prohibir el desalojo de datos. La configuración predeterminada es esta. Cuando el uso de la memoria alcanza el umbral, todos los comandos que causan la aplicación de memoria informarán un error.
  • volatile-lru : seleccione los datos utilizados menos recientemente del conjunto de datos con el tiempo de vencimiento establecido para ser eliminado.
  • volatile-ttl : seleccione los datos que están a punto de caducar del conjunto de datos con el tiempo de caducidad establecido para ser eliminado.
  • volatile-random : selecciona arbitrariamente la eliminación de datos del conjunto de datos con el tiempo de caducidad establecido.
  • allkeys-lru : seleccione los datos utilizados menos recientemente del conjunto de datos y elimínelos .
  • allkeys-random : selecciona arbitrariamente la eliminación de datos del conjunto de datos.

  Cuando Redis decide expulsar un par clave-valor, eliminará estos datos y sincronizará este mensaje de cambio de datos con el local y el esclavo.

La referencia anterior proviene de https://www.cnblogs.com/wjh123/p/11254858.html , http://mini.eastday.com/mobile/180918003550027.html#

Supongo que te gusta

Origin www.cnblogs.com/smallzhen/p/12728455.html
Recomendado
Clasificación