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

Cómo eliminar claves que coincidan con un patrón en Redis

Redis no ofrece una forma de eliminar claves de forma masiva. Sin embargo, puede usar redis-cli y un poco de magia de línea de comandos para eliminar claves de forma masiva sin bloquear redis.


Este comando eliminará todas las claves que coincidan con los usuarios:*
redis-cli --scan --pattern users:* | xargs redis-cli del

Si está en redis 4.0 o superior, puede usar el comando desvincular en su lugar para eliminar claves en segundo plano.


redis-cli --scan --pattern users:* | xargs redis-cli unlink

¿Cómo funciona el script?

  1. Primero, usamos redis-cli --scan --pattern <pattern> para obtener una lista de claves, una clave por línea. Dado que esto usa escaneo, el servidor redis no está bloqueado.
  2. xargs toma varias líneas y las combina en la misma línea, por lo que básicamente está ejecutando el comando del <key1> <key2>...
  3. Si tiene miles de claves que coinciden con el patrón, xargs ejecutará automáticamente redis-cli varias veces.

Ver también

  • Renombrar campos en un hash
  • Establecer caducidad en varias claves
  • Cambie el nombre de varias teclas mediante el escaneo
  • 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!