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

Jak exportovat klíče Redis jako CSV pomocí CLI

Často chcete exportovat data z redis jako csv. Redis-cli má --csv flag, ale funguje to pouze v případě, že chcete exportovat jeden klíč. Ale s trochou magie příkazového řádku můžete exportovat libovolný počet klíčů ve formátu CSV.

Tento skript exportuje pole id, zobrazovaný název, pověst a umístění pro všechny hash začínající na users:*

Používání tlačítek skenování k výběru

Prvním krokem je použití redis-cli s --scan a --pattern příznaky pro výběr klíčů, které vás zajímají. Chcete-li tedy vybrat klíče odpovídající uživatelům:*, spustíte příkaz redis-cli --scan --pattern users:* .

Všimněte si, že redis povoluje pouze vzory ve stylu glob. Takže users:* bude odpovídat users:1234 a také odpovídat users:1234:favourites . Pokud chcete větší kontrolu, můžete na to navázat pomocí grep a regulárního výrazu.

redis-cli --scan --pattern users:* | grep -e '^users:[^:]*$'

Použití AWK ke spouštění příkazů Redis

Pro každý klíč, který jsme vybrali, musíme spustit příkaz redis k načtení dat pro tento klíč. V našem případě chceme načíst pole z hashe, takže použijeme hmget příkaz. $0 ve skriptu awk odkazuje na klíč, který jsme dříve vybrali pomocí skenování.

Výstup skriptu awk je přesměrován do redis-cli. Každý příkaz se provede a výstup se vrátí jako CSV kvůli --csv vlajka.

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. Místo příkazu hmget můžete spustit libovolný příkaz

Viz také

  • Přejmenování polí v hash
  • Přejmenovat více klíčů pomocí skenování
  • 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. Automatické zálohování MongoDB

  2. MongoDB $not Aggregation Pipeline Operator

  3. Mongoose - způsobeno ::11000 E11000 index chyby duplicitního klíče?

  4. 5 způsobů, jak získat hodinu z rande v MongoDB