Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Jak zmienić nazwę wielu kluczy w Redis

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?

  1. 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.
  2. Następnie używamy awk do podstawiania łańcuchów i generowania nowej nazwy. To jest gsub(/users/,"customers", new_key) w komendzie bash
  3. Następnie generujemy nasze polecenie rename <old key> <new key> , ale aby był wydajny, generujemy go w formacie protokołu redis.
  4. 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

  1. 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.
  2. 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!

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Szybsza metoda przenoszenia danych redis do MySQL

  2. Zliczanie użytkowników socket.io na serwerach poziomych

  3. Połączenie Redis z 127.0.0.1:6379 nie powiodło się - połącz ECONNREFUSED

  4. Konfiguracja wdrożenia Redis — replikacja master-slave

  5. Jak uzyskać, zaktualizować wszystkie klucze i ich wartości z bazy danych redis w c#?