sql >> Databáze >  >> NoSQL >> Redis

Jak přejmenovat více klíčů v Redis

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?

  1. 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.
  2. 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
  3. Dále použijeme příkaz vygenerovat rename <old key> <new key> , ale aby to bylo efektivní, generujeme jej ve formátu protokolu redis.
  4. 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

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

  1. Operátor agregačního potrubí MongoDB $gte

  2. Skript Redis Lua implementující CAS (check-and-set)?

  3. Jak ukládat výsledky z dynamicky generovaných formulářů v MongoDb?

  4. Mongodb/mongoose insert není funkce