sql >> Base de Datos >  >> NoSQL >> Redis

Cómo establecer la caducidad de varias claves en Redis

A menudo, los desarrolladores se olvidan de establecer una caducidad en las claves y redis comienza a quedarse sin memoria. Si bien puede establecer una caducidad para las claves recién generadas, todavía necesita una forma de establecer una caducidad para las claves que ya están en la memoria.


Este comando establecerá la caducidad de las claves que coincidan con los usuarios:*


¿Cómo funciona el script?

  1. Primero, usamos redis-cli --scan --pattern <pattern> para obtener una lista de claves, una clave por línea.
  2. Luego ejecutamos un script awk para cada clave. Este script awk es un poco complejo, por lo que lo desglosaremos
  3. El script awk tiene una plantilla de comando expire __key__ 1000 . Este es el comando que se ejecutará para todas las claves.
  4. Para cada clave coincidente, el comando awk reemplaza a __key__ con la clave real
  5. A continuación, convertimos el comando de cadena al formato del protocolo redis. Este es el formato sin formato que entiende redis.
  6. Finalmente, canalizamos los comandos sin procesar a redis-cli usando el indicador –pipe. Esta es la forma más eficiente de enviar comandos masivos a redis.

Personalizar este script

  1. Puede personalizar cmd_template para ejecutar cualquier comando redis de una sola tecla contra varias teclas que coincidan con un patrón.
  2. El análisis de Redis solo permite patrones de estilo global, no se admiten expresiones regulares. Entonces users:* coincidirá con users:123 así como users:123:favourites . Puedes poner un grep en la canalización después del primer redis-cli y antes del script awk.
  3. Si su servidor redis no está en localhost, deberá proporcionar el host, el puerto y la contraseña dos veces en el comando, básicamente cada vez que llamas a redis-cli.

Ver también

  • Renombrar campos en un hash
  • Cambie el nombre de varias teclas mediante el escaneo
  • Eliminar teclas que coincidan con un patrón
  • La GUI de RDBTools para Redis le permite obtener una vista previa de sus acciones masivas y proporciona una GUI poderosa para administrar datos en Redis. ¡Es una descarga gratuita!