Често искате да експортирате данни от Redis като csv. Redis-cli има --csv
флаг, но работи само ако искате да експортирате един ключ. Но с малко магия на командния ред, можете да експортирате произволен брой ключове като CSV формат.
Този скрипт ще експортира идентификатора на полетата, показваното име, репутацията и местоположението за всички хешове, започващи с users:*
Използване на клавиши за избор на сканиране
Първата стъпка е да използвате redis-cli с --scan
и --pattern
флагове, за да изберете ключовете, които ви интересуват. Така че, за да изберете ключове, съответстващи на потребители:*, ще изпълните командата redis-cli --scan --pattern users:*
.
Имайте предвид, че redis позволява само шаблони в стил glob. Така че users:*
ще съответства на users:1234
и също така съответства на users:1234:favourites
. Ако искате повече контрол, можете да го последвате с grep и регулярен израз.
redis-cli --scan --pattern users:* | grep -e '^users:[^:]*$'
Използване на AWK за изпълнение на Redis команди
За всеки избран от нас ключ трябва да изпълним команда redis, за да извлечем данните за този ключ. В нашия случай искаме да извлечем полета от хеш, така че използваме hmget
команда. $0
в awk скрипта се отнася до ключа, който избрахме преди това с помощта на сканиране.
Резултатът от awk скрипта се предава по канал към redis-cli. Всяка команда се изпълнява и изходът се връща като CSV поради --csv
флаг.
Персонализиране на този скрипт
- Ако вашият Redis сървър не е на localhost, ще трябва да предоставите хоста, порта и паролата два пъти в командата, по принцип всеки път, когато извикате redis-cli.
- Можете да изпълните всяка команда вместо
hmget
Вижте също
- Преименуване на полета в хеш
- Преименувайте няколко клавиша с помощта на сканиране
- Задайте изтичане на няколко ключа
- Изтриване на клавиши, съответстващи на шаблон
- RDBTools GUI за Redis ви позволява да визуализирате груповите си действия и предоставя мощен GUI за управление на данни в Redis. Това е безплатно изтегляне!