Redis nie oferuje polecenia zbiorczej zmiany nazw kluczy w redis. Ale dość łatwo jest stworzyć skrypt za pomocą redis-cli i niektórych narzędzi wiersza poleceń.
To polecenie zmieni nazwy kluczy pasujących do użytkowników:* na klientów*:
Jak działa skrypt?
- Najpierw używamy
redis-cli --scan --pattern <pattern>
aby uzyskać listę kluczy, których nazwy należy zmienić. Ponieważ używamy polecenia scan, nie blokuje to serwera redis. - Następnie używamy awk do podstawiania łańcuchów i generowania nowej nazwy. To jest
gsub(/users/,"customers", new_key)
w komendzie bash - Następnie generujemy nasze polecenie
rename <old key> <new key>
, ale aby był wydajny, generujemy go w formacie protokołu redis. - Na koniec przesyłamy protokół redis do redis-cli za pomocą
--pipe
opcja. Jest to najskuteczniejszy sposób wysyłania strumienia poleceń do serwera redis.
Dostosowywanie tego skryptu
- Jeśli serwer redis nie znajduje się na hoście lokalnym, będziesz musiał podać hosta, port i hasło dwukrotnie w poleceniu, w zasadzie za każdym razem, gdy wywołasz redis-cli.
- Będziesz musiał zastąpić wzorzec skanowania i wywołanie gsub, aby spełnić swoje potrzeby.
Zobacz też
- Zmień nazwy pól w haszu
- Ustaw wygaśnięcie na wiele kluczy
- Usuń klucze pasujące do wzorca
- GUI RDBTools dla Redis umożliwia podgląd działań zbiorczych i zapewnia potężny graficzny interfejs użytkownika do zarządzania danymi w Redis. To bezpłatne pobieranie!