Redis
 sql >> Database >  >> NoSQL >> Redis

Come rinominare più chiavi in ​​Redis

Redis non offre un comando per rinominare in blocco le chiavi in ​​redis. Ma è abbastanza facile creare uno script usando redis-cli e alcuni strumenti da riga di comando.


Questo comando rinominerà le chiavi che corrispondono agli utenti:* ai clienti*:

Come funziona lo script?

  1. In primo luogo, utilizziamo redis-cli --scan --pattern <pattern> per ottenere un elenco di chiavi che devono essere rinominate. Poiché stiamo usando il comando scan, questo non blocca il server redis.
  2. Successivamente, utilizziamo awk per sostituire le stringhe e generare un nuovo nome. Questo è il gsub(/users/,"customers", new_key) nel comando bash
  3. Successivamente, utilizziamo generate il nostro comando rename <old key> <new key> , ma per renderlo efficiente, lo generiamo nel formato del protocollo redis.
  4. Infine, convogliamo il protocollo redis su redis-cli con il --pipe opzione. Questo è il modo più efficiente per inviare un flusso di comandi al server redis.

Personalizzazione di questo script

  1. Se il tuo server Redis non è su localhost, dovrai fornire l'host, la porta e la password due volte nel comando, praticamente ogni volta che chiami redis-cli.
  2. Dovrai sostituire il pattern di scansione e la chiamata gsub per soddisfare le tue esigenze.

Vedi anche

  • Rinomina i campi in un hash
  • Imposta Scadenza su più chiavi
  • Elimina le chiavi corrispondenti a uno schema
  • La GUI di RDBTools per Redis ti consente di visualizzare in anteprima le tue azioni in blocco e fornisce una potente GUI per gestire i dati in Redis. È un download gratuito!