Често искате да експортирате данни от 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. Това е безплатно изтегляне!