Redis erbjuder inte ett kommando för att massbyta nycklar i redis. Men det är lätt nog att skapa ett skript med redis-cli och några kommandoradsverktyg.
Detta kommando kommer att byta namn på nycklar som matchar användare:* till kunder*:
Hur fungerar skriptet?
- Först använder vi
redis-cli --scan --pattern
för att få en lista över nycklar som bör bytas namn. Eftersom vi använder scan-kommandot blockerar detta inte redis-servern. - Närnäst använder vi awk för att göra strängbyte och generera ett nytt namn. Detta är
gsub(/users/,"customers", new_key)
i bash-kommandot - Närnäst använder vi generera vårt kommando
byt namn på
, men för att göra det effektivt genererar vi det i redis-protokollformatet. - Slutligen skickar vi redis-protokollet till redis-cli med
--pipe
alternativ. Detta är det mest effektiva sättet att skicka en ström av kommandon till redis-servern.
Anpassa detta skript
- Om din redis-server inte finns på localhost måste du ange värden, porten och lösenordet två gånger i kommandot, i princip när du anropar redis-cli.
- Du måste byta ut skanningsmönstret och gsub-anropet för att möta dina behov.
Se även
- Byt namn på fält i en hash
- Ange utgångsdatum till flera nycklar
- Ta bort nycklar som matchar ett mönster
- RDBTools GUI för Redis låter dig förhandsgranska dina bulkåtgärder och tillhandahåller ett kraftfullt GUI för att hantera data i Redis. Det är en gratis nedladdning!