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?
- 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. - Successivamente, utilizziamo awk per sostituire le stringhe e generare un nuovo nome. Questo è il
gsub(/users/,"customers", new_key)
nel comando bash - Successivamente, utilizziamo generate il nostro comando
rename <old key> <new key>
, ma per renderlo efficiente, lo generiamo nel formato del protocollo redis. - 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
- 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.
- 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!