Seringkali, Anda ingin mengekspor data dari redis sebagai csv. Redis-cli memiliki --csv
flag, tetapi hanya berfungsi jika Anda ingin mengekspor satu kunci. Tetapi dengan sedikit keajaiban baris perintah, Anda dapat mengekspor sejumlah kunci sebagai format CSV.
Skrip ini akan mengekspor id bidang, nama tampilan, reputasi, dan lokasi untuk semua hash yang dimulai dengan users:*
Menggunakan Pindai untuk Memilih Tombol
Langkah pertama adalah menggunakan redis-cli dengan --scan
dan --pattern
bendera untuk memilih kunci yang menarik. Jadi, untuk memilih kunci yang cocok dengan pengguna:*, Anda akan menjalankan perintah redis-cli --scan --pattern users:*
.
Perhatikan bahwa redis hanya mengizinkan pola gaya glob. Jadi users:*
akan cocok dengan users:1234
dan juga cocok dengan users:1234:favourites
. Jika Anda ingin kontrol lebih, Anda dapat menindaklanjutinya dengan grep dan regex.
redis-cli --scan --pattern users:* | grep -e '^users:[^:]*$'
Menggunakan AWK untuk Menjalankan Perintah Redis
Untuk setiap kunci yang kita pilih, kita perlu menjalankan perintah redis untuk mengambil data untuk kunci itu. Dalam kasus kami, kami ingin mengambil bidang dari hash, jadi kami menggunakan hmget
memerintah. $0
dalam skrip awk mengacu pada kunci yang kami pilih sebelumnya menggunakan pemindaian.
Output dari skrip awk disalurkan ke redis-cli. Setiap perintah dijalankan, dan output dikembalikan sebagai CSV karena --csv
bendera.
Menyesuaikan Skrip ini
- Jika server redis Anda tidak ada di localhost, Anda harus memberikan host, port, dan sandi dua kali dalam perintah, pada dasarnya setiap kali Anda memanggil redis-cli.
- Anda dapat menjalankan perintah apa pun selain
hmget
Lihat Juga
- Ganti Nama Bidang dalam Hash
- Ganti Nama Beberapa Tombol Menggunakan Pemindaian
- Setel Kedaluwarsa ke Beberapa Kunci
- Hapus Tombol yang Cocok dengan Pola
- RDBTools GUI for Redis memungkinkan Anda melihat pratinjau tindakan massal Anda dan menyediakan GUI yang kuat untuk mengelola data di Redis. Ini dapat diunduh gratis!