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

Cómo cambiar el nombre de varias claves en Redis

Redis no ofrece un comando para cambiar el nombre de las claves de forma masiva en Redis. Pero es bastante fácil crear un script usando redis-cli y algunas herramientas de línea de comandos.


Este comando cambiará el nombre de las claves que coincidan con usuarios:* a clientes*:

¿Cómo funciona el script?

  1. Primero, usamos redis-cli --scan --pattern <pattern> para obtener una lista de claves que deben ser renombradas. Como estamos usando el comando de escaneo, esto no bloquea el servidor redis.
  2. A continuación, usamos awk para realizar la sustitución de cadenas y generar un nuevo nombre. Este es el gsub(/users/,"customers", new_key) en el comando bash
  3. A continuación, usamos generar nuestro comando rename <old key> <new key> , pero para que sea eficiente, lo generamos en el formato del protocolo redis.
  4. Finalmente, canalizamos el protocolo redis a redis-cli con --pipe opción. Esta es la forma más eficiente de enviar un flujo de comandos al servidor Redis.

Personalizar este script

  1. 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.
  2. Tendrá que sustituir el patrón de exploración y la llamada gsub para satisfacer sus necesidades.

Ver también

  • Renombrar campos en un hash
  • Establecer caducidad en varias claves
  • 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!