2012-07-06 33 views
17

Me gustaría exportar un subconjunto de mis datos Redis en el esclavo a un archivo csv. Noté que se agregó una nueva opción de salida de csv a redis-cli, pero no puedo encontrar documentación sobre cómo funciona. Al habilitar la opción, se imprimen las salidas del comando en la pantalla en formato csv. ¿Cuál es la mejor manera de incluir esto en un archivo csv?Opción Redis-cli --csv (exportar a csv)

Respuesta

26

Cutting edge!

Acabo de mirar el source code & todo lo que hace es enviar los comandos como valores separados por comas a stdout. Lo cual no es una gran sorpresa.

Entonces, ¿podría simplemente redirigirlo a un archivo, en el standard way, mientras esté en Linux?

e.g./

redis-cli --csv your-command > stdout.csv 2> stderr.txt 
+3

Eso funcionó muy bien. ¡Gracias! –

+0

cómo importar el csv exportado? – Mithril

0

Ir al directorio de src Redis y ejecutar el siguiente comando

./redis-cli $command > $file_name 

Ejemplo: ./redis-cli SMEMBERS "$KEY" > $file_name(RANDOM NAME)

esto funcionó para mí.

0

En caso de toma de corriente y/o varios servidores Redis, que tenía que hacer:

redis-cli -s /path/to/socket --csv your-command > stdout.csv 2> stderr.txt 

P. ej

redis-cli -s /var/run/redis/redis4.sock --csv lrange my_list 0 -1 > stdout.csv 2> stderr.txt