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?
- 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. xargs
toma varias líneas y las combina en la misma línea, por lo que básicamente está ejecutando el comandodel <key1> <key2>...
- 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!