Redis: visualizar chaves, status e edição
O menu Redis é uma interface gráfica (Redis GUI) para visualizar as chaves, o status e a memória do Redis de cada cliente, e editar com auditoria. Ele aparece no cliente que tem o acesso ao Redis cadastrado. Funciona com Azure Cache for Redis (TLS, porta 6380) e ElastiCache (TLS em trânsito, AUTH ou usuário ACL), fora do modo cluster.
O que faz
| Plano | O que mostra e faz |
|---|---|
| Free | Status do servidor, latência, versão, papel na replicação, memória, clientes conectados e chaves por banco. |
| Pro e Team | Navegador de chaves com busca por padrão (SCAN), valor de cada chave conforme o tipo, TTL e memória; INFO; SLOWLOG; amostra das chaves que mais ocupam memória. O admin grava strings e campos de hash, muda ou remove o TTL, renomeia e apaga chaves. |
O que é aceito
- Connection string redis:// ou rediss:// (TLS), ou host, porta (1 a 65535), usuário, senha, TLS e banco.
- Banco de 0 a 1023.
- Gravar string numa chave string ou nova. O TTL que a chave tinha é mantido (lido com PTTL e regravado com PX, em qualquer versão do Redis), ou você define um TTL novo na mesma edição.
- Gravar campo numa chave hash ou nova.
- TTL em segundos, inteiro e positivo, até 10 anos, ou remover o TTL.
- Renomear para um nome que ainda não existe (RENAMENX).
- Apagar uma chave, ou várias de uma vez: até 20 chaves por minuto por cliente.
O que não é aceito
- Gravar string numa chave de outro tipo, ou campo de hash numa chave que não é hash: é recusado em vez de sobrescrever.
- Renomear para um nome que já existe.
- FLUSHALL, FLUSHDB, KEYS, console de comandos e os demais comandos recusados da tabela abaixo.
- Redis em modo cluster.
- Navegar ou editar no Free; editar ou apagar como membro (na web; no desktop, a partir da 2.7.0).
Limites e tempos
| Limite | Valor |
|---|---|
| Chaves por página do navegador | 100 por padrão, de 1 a 500 |
| Valor de string | até 64 KB |
| Itens de hash e set | até 200 |
| Itens de lista e sorted set | 100 por página |
| Entradas de stream | 50 |
| Cada item de coleção | até 4 KB |
| SLOWLOG | últimas 25 |
| Amostra de chaves grandes | 1.000 chaves, mostra as 20 maiores |
| Chaves apagadas | 20 por minuto por cliente |
| Tempo de conexão / de cada comando | 5 s / 10 s |
Confirmações
- Apagar uma chave ou um campo de hash pede confirmação.
- Apagar mais de uma chave pede que você digite a quantidade de chaves.
Auditoria
- Web: cada gravação, mudança de TTL, renomeação e remoção vai para a auditoria da organização, no banco: quem, quando, cliente, banco, nome da chave (e do campo) e o tamanho do valor em bytes, nunca o valor. Numa remoção múltipla, ficam a quantidade e os primeiros 50 nomes.
- Desktop: as mesmas ações vão para o arquivo kubepier-audit.log, na pasta de dados do app, com os nomes das chaves e o resultado.
Comandos do Redis
Web e desktop usam a mesma lista de comandos permitidos, conferida antes de cada comando sair. Qualquer comando fora dela é recusado. Não existe console de comandos livre.
| Comando | Uso | Situação |
|---|---|---|
| PING, INFO, DBSIZE | Status, latência, memória, clientes, keyspace e a aba INFO | Aceito (leitura) |
| SELECT | Escolher o banco da conexão | Aceito (leitura) |
| SCAN … MATCH … COUNT | Navegador de chaves e amostra de chaves grandes | Aceito (leitura) |
| TYPE, TTL, PTTL | Tipo e expiração de cada chave | Aceito (leitura) |
| MEMORY USAGE, MEMORY STATS | Memória por chave e visão geral (só esses dois subcomandos) | Aceito (leitura) |
| STRLEN, GET, GETRANGE | Valor de string; strings grandes só até 64 KB | Aceito (leitura) |
| HLEN, HSCAN | Campos de hash, até 200 | Aceito (leitura) |
| LLEN, LRANGE | Itens de lista | Aceito (leitura) |
| SCARD, SSCAN | Membros de set, até 200 | Aceito (leitura) |
| ZCARD, ZRANGE … WITHSCORES | Membros de sorted set, sempre com o score | Aceito (leitura) |
| XLEN, XRANGE | Entradas de stream, até 50 | Aceito (leitura) |
| SLOWLOG GET | Aba SLOWLOG (comando e chave, nunca os valores); só o subcomando GET | Aceito (leitura) |
| SET | Gravar string: SET simples, ou com EX para um TTL novo, ou com PX para manter o TTL que a chave tinha (funciona em qualquer versão do Redis) | Aceito (escrita, admin) |
| HSET, HDEL | Gravar e apagar campo de hash | Aceito (escrita, admin) |
| EXPIRE, PERSIST | Definir ou remover o TTL | Aceito (escrita, admin) |
| RENAMENX | Renomear sem sobrescrever outra chave | Aceito (escrita, admin) |
| UNLINK | Apagar chaves sem travar o servidor | Aceito (escrita, admin) |
| FLUSHALL, FLUSHDB | Apagariam o banco inteiro de uma vez | Recusado |
| KEYS | Trava o servidor em bancos grandes; o Kubepier usa SCAN | Recusado |
| DEL, RENAME | Têm versões seguras na lista (UNLINK, RENAMENX) | Recusado |
| CONFIG, DEBUG, SHUTDOWN, MIGRATE | Mudam a configuração, movem dados ou derrubam o servidor | Recusado |
| EVAL, EVALSHA, FUNCTION, SCRIPT | Rodariam código arbitrário no servidor | Recusado |
| MONITOR | Mostraria o tráfego e os valores de todos os clientes | Recusado |
| ACL, CLIENT (inclusive CLIENT KILL) | Mexem em usuários e conexões do servidor | Recusado |
| Outros subcomandos de MEMORY e SLOWLOG (DOCTOR, RESET…) | Fora do que a tela precisa | Recusado |
| Qualquer outro comando | Não há console livre | Recusado |
Os comandos de escrita só passam no modo escrita: na web, nas rotas de admin do plano pago; no desktop, nos planos Pro e Team (a partir da 2.7.0, só para admin). Um comando recusado volta como "comando não permitido" (403 na web) e não chega ao Redis.
Na conexão, o cliente Redis também envia AUTH (senha ou usuário ACL).
Permissões necessárias do seu lado
Com ACL (Redis 6 ou mais novo), crie um usuário só para o Kubepier com estes comandos. Em Redis sem ACL, vale a senha (AUTH).
# Só leitura (status, navegador de chaves, INFO, SLOWLOG)
ACL SETUSER kubepier on >SENHA ~* -@all +ping +info +dbsize +select \
+scan +type +ttl +pttl +memory|usage +memory|stats +strlen +get +getrange \
+hlen +hscan +llen +lrange +scard +sscan +zcard +zrange +xlen +xrange +slowlog|get
# Edição (Pro/Team; admin): acrescente
ACL SETUSER kubepier +set +hset +hdel +expire +persist +renamenx +unlink Sem MEMORY USAGE (desligado em alguns serviços gerenciados), a memória por chave aparece vazia. No Azure Cache for Redis, a chave de acesso funciona como senha.
Azure Cache for Redis (porta 6380, TLS) e rota de conexão
No cadastro do Redis, escolha a Rota de conexão. Direta: libere os IPs de saída no firewall (Azure Cache: Firewall; porta 6380 com TLS). Pelo cluster: para caches com private endpoint, ElastiCache ou Memorystore, por um relay num cluster na mesma rede. Na rota Direta, um host que resolve só para IP privado responde host_privado na hora, sem tentar conectar. Conexão encerrada pelo servidor (conexao_encerrada) em geral é firewall sem os IPs de saída, TLS ou porta errados, ou limite de conexões: libere os IPs ou troque para Pelo cluster. Senha errada não é conexão encerrada: desde 05/10/2026 na web, e a partir da 2.3.0 no desktop, ela aparece como erro de autenticação (WRONGPASS).
Erros comuns
- WRONGPASS (invalid username-password pair) ou NOAUTH: erro de autenticação: a senha (ou o usuário ACL) salva está errada, ou falta a senha. Não é rede: corrija a credencial no cadastro do cliente. No Azure Cache, cole a connection string inteira copiada em Chaves de acesso do cache certo, e não só a chave, para não misturar a chave de dev com o host de prd. Na web, o status mostra a mensagem do Redis e as ações respondem "sem permissão no serviço". No desktop até a 2.2.0, esse caso aparece como Connection is closed.
- "sem permissão no serviço" / NOPERM: falta um comando do ACL acima.
- "A chave é do tipo …": a chave existe com outro tipo; o Kubepier não sobrescreve.
- "Já existe uma chave com esse nome": escolha outro nome.
- "muitas remoções" (429 na web): são 20 chaves apagadas por minuto por cliente.
- "comando não permitido": o comando está fora da lista; não há como liberar outros.
- Erro de conexão ou TLS: confira host, porta e TLS (Azure Cache: 6380 com TLS) e, na web, os IPs de saída.