Często chcesz wyeksportować dane z redis jako csv. Redis-cli ma --csv flaga, ale działa tylko wtedy, gdy chcesz wyeksportować pojedynczy klucz. Ale przy odrobinie magii wiersza poleceń możesz wyeksportować dowolną liczbę kluczy w formacie CSV.
Ten skrypt wyeksportuje identyfikator pól, nazwę wyświetlaną, reputację i lokalizację dla wszystkich skrótów zaczynających się od users:*
Korzystanie z funkcji Skanuj, aby wybrać klawisze
Pierwszym krokiem jest użycie redis-cli z --scan i --pattern flagi, aby wybrać interesujące Cię klucze. Tak więc, aby wybrać klucze pasujące do użytkowników:*, uruchomisz polecenie redis-cli --scan --pattern users:* .
Zauważ, że redis zezwala tylko na wzory w stylu glob. Więc users:* dopasuje users:1234 a także dopasuj users:1234:favourites . Jeśli chcesz mieć większą kontrolę, możesz to sprawdzić za pomocą grep i regex.
redis-cli --scan --pattern users:* | grep -e '^users:[^:]*$'
Korzystanie z AWK do uruchamiania poleceń Redis
Dla każdego wybranego klucza musimy uruchomić polecenie redis, aby pobrać dane dla tego klucza. W naszym przypadku chcemy pobrać pola z hasha, więc używamy hmget Komenda. $0 w skrypcie awk odnosi się do klawisza, który wybraliśmy wcześniej za pomocą skanowania.
Wyjście skryptu awk jest przesyłane do redis-cli. Każde polecenie jest wykonywane, a wynik jest zwracany jako CSV z powodu --csv flaga.
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.
- Możesz uruchomić dowolne polecenie zamiast
hmget
Zobacz też
- Zmień nazwy pól w haszu
- Zmień nazwy wielu kluczy za pomocą skanowania
- 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!