Č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
- 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.
- 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!