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

Como excluir chaves que correspondem a um padrão no Redis


O Redis não oferece uma maneira de excluir chaves em massa. No entanto, você pode usar redis-cli e um pouco de magia de linha de comando para excluir chaves em massa sem bloquear o redis.




Este comando excluirá todas as chaves correspondentes a users:*
redis-cli --scan --pattern users:* | xargs redis-cli del

Se você estiver no redis 4.0 ou superior, poderá usar o comando unlink para excluir chaves em segundo plano.


redis-cli --scan --pattern users:* | xargs redis-cli unlink

Como funciona o script?

  1. Primeiro, usamos redis-cli --scan --pattern <pattern> para obter uma lista de chaves, uma chave por linha. Como isso usa varredura, o servidor redis não é bloqueado.
  2. xargs pega várias linhas e as combina na mesma linha, então você está basicamente executando o comando del <key1> <key2>...
  3. Se você tiver milhares de chaves que correspondem ao padrão, xargs executará automaticamente redis-cli várias vezes.

Veja também

  • Renomear campos em um hash
  • Definir expiração para várias chaves
  • Renomear várias chaves usando a digitalizaçã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!