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!