Redis nenabízí příkaz k hromadnému přejmenování klíčů v redis. Je však snadné vytvořit skript pomocí redis-cli a některých nástrojů příkazového řádku.
Tento příkaz přejmenuje klíče odpovídající users:* na customers*:
Jak skript funguje?
- Nejprve používáme
redis-cli --scan --pattern <pattern>
získat seznam klíčů, které by měly být přejmenovány. Protože používáme příkaz scan, neblokuje to server redis. - Dále použijeme awk k nahrazení řetězců a vygenerování nového názvu. Toto je
gsub(/users/,"customers", new_key)
v příkazu bash - Dále použijeme příkaz vygenerovat
rename <old key> <new key>
, ale aby to bylo efektivní, generujeme jej ve formátu protokolu redis. - Nakonec převedeme protokol redis do redis-cli pomocí
--pipe
volba. Toto je nejefektivnější způsob, jak odeslat proud příkazů na server redis.
Přizpůsobení tohoto skriptu
- Pokud váš server redis není na localhost, budete muset zadat hostitele, port a heslo dvakrát v příkazu, v podstatě kdykoli zavoláte redis-cli.
- Budete muset nahradit vzor skenování a volání gsub, aby vyhovovalo vašim potřebám.
Viz také
- Přejmenování polí v hash
- Nastavit expiraci na více klíčů
- Odstranit klíče odpovídající vzoru
- GUI RDBTools pro Redis vám umožňuje zobrazit náhled hromadných akcí a poskytuje výkonné GUI pro správu dat v Redis. Je to ke stažení zdarma!