Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como exportar chaves Redis como CSV usando CLI


Muitas vezes, você deseja exportar dados do redis como um csv. O redis-cli tem um --csv sinalizador, mas só funciona se você quiser exportar uma única chave. Mas com um pouco de magia de linha de comando, você pode exportar qualquer número de chaves como um formato CSV.

Este script exportará os campos id, nome de exibição, reputação e local para todos os hashes começando com users:*

Usando Digitalizar para selecionar chaves


O primeiro passo é usar redis-cli com o --scan e --pattern sinalizadores para selecionar as chaves de interesse. Portanto, para selecionar as chaves correspondentes a users:*, você executará o comando redis-cli --scan --pattern users:* .

Observe que o redis só permite padrões de estilo glob. Então users:* corresponderá a users:1234 e também corresponde a users:1234:favourites . Se você quiser mais controle, pode seguir com um grep e um regex.

redis-cli --scan --pattern users:* | grep -e '^users:[^:]*$'

Usando o AWK para executar comandos Redis


Para cada chave que selecionamos, precisamos executar um comando redis para buscar os dados dessa chave. No nosso caso, queremos buscar campos de um hash, então usamos o hmget comando. O $0 no script awk refere-se à chave que selecionamos anteriormente usando scan.

A saída do script awk é canalizada para redis-cli. Cada comando é executado e a saída é retornada como um CSV devido ao --csv bandeira.

Personalizando este script

  1. Se seu servidor redis não estiver no host local, você terá que fornecer o host, a porta e a senha duas vezes no comando, basicamente sempre que você chama redis-cli.
  2. Você pode executar qualquer comando em vez de hmget

Veja também

  • Renomear campos em um hash
  • Renomear várias chaves usando a digitalização
  • Definir expiração para várias chaves
  • Excluir chaves que correspondem a um padrão
  • A GUI do RDBTools para Redis permite visualizar suas ações em massa e fornece uma GUI poderosa para gerenciar dados no Redis. É um download gratuito!