Comandos dos Redis | Banco de Dados
- Comandos dos Redis | Banco de Dados
🧠 Guia Completo dos Principais Comandos Redis
🔹 1. Comandos de Strings
As strings são o tipo de dado mais básico do Redis (chave → valor).
| Comando | Descrição | Exemplo |
|---|---|---|
SET key value | Define o valor de uma chave | SET user:1 "Maria" |
GET key | Retorna o valor da chave | GET user:1 |
INCR key | Incrementa o valor numérico em 1 | INCR contador |
DECR key | Decrementa o valor numérico em 1 | DECR contador |
INCRBY key n | Incrementa por um valor específico (Uso típico: contadores de acessos, IDs automáticos, métricas, etc.) | INCRBY contador 5 |
APPEND key value | Concatena texto no final do valor atual | APPEND user:1 " Silva" |
STRLEN key | Retorna o tamanho da string | STRLEN user:1 |
GETSET key new_value | Define novo valor e retorna o antigo | GETSET user:1 "Carlos" |
🔹 2. Comandos de Hashes
Hashes armazenam campos e valores (como um dicionário).
| Comando | Descrição | Exemplo |
|---|---|---|
HSET key field value | Define um campo dentro do hash | HSET user:1 name "Maria" |
HGET key field | Retorna o valor de um campo | HGET user:1 name |
HGETALL key | Retorna todos os campos e valores | HGETALL user:1 |
HMSET key field1 val1 field2 val2 ... | Define múltiplos campos | HMSET user:1 name "João" age 22 |
HINCRBY key field n | Incrementa um campo numérico | HINCRBY user:1 age 1 |
HDEL key field | Remove um campo | HDEL user:1 age |
HEXISTS key field | Verifica se o campo existe | HEXISTS user:1 age |
🔹 3. Comandos de Lists
Listas são sequências ordenadas de strings (como uma fila ou pilha).
| Comando | Descrição | Exemplo |
|---|---|---|
LPUSH key value | Adiciona item no início da lista | LPUSH fila "tarefa1" |
RPUSH key value | Adiciona item no fim da lista | RPUSH fila "tarefa2" |
LPOP key | Remove e retorna o primeiro item | LPOP fila |
RPOP key | Remove e retorna o último item | RPOP fila |
LRANGE key start stop | Retorna intervalo de elementos | LRANGE fila 0 -1 |
LLEN key | Retorna o tamanho da lista | LLEN fila |
LTRIM key start stop | Mantém apenas uma faixa da lista | LTRIM fila 0 4 |
🔹 4. Comandos de Sets
Sets são coleções não ordenadas e únicas.
| Comando | Descrição | Exemplo |
|---|---|---|
SADD key member | Adiciona um elemento | SADD tags redis |
SMEMBERS key | Lista todos os elementos | SMEMBERS tags |
SISMEMBER key member | Verifica se um elemento está no set | SISMEMBER tags redis |
SREM key member | Remove elemento | SREM tags redis |
SUNION key1 key2 | União de sets | SUNION tags1 tags2 |
SINTER key1 key2 | Interseção de sets | SINTER tags1 tags2 |
SDIFF key1 key2 | Diferença de sets | SDIFF tags1 tags2 |
🔹 5. Comandos de Sorted Sets (ZSets)
Parecidos com Sets, mas com pontuações (score) que definem a ordem.
| Comando | Descrição | Exemplo |
|---|---|---|
ZADD key score member | Adiciona elemento com pontuação | ZADD ranking 100 "João" |
ZRANGE key start stop [WITHSCORES] | Retorna elementos por posição | ZRANGE ranking 0 -1 WITHSCORES |
ZREVRANGE key start stop | Retorna em ordem inversa | ZREVRANGE ranking 0 -1 |
ZINCRBY key increment member | Incrementa score de um membro | ZINCRBY ranking 10 "Maria" |
ZSCORE key member | Retorna o score de um membro | ZSCORE ranking "João" |
🔹 6. Comandos de Pub/Sub (Mensageria)
Permite publicar e assinar mensagens entre clientes.
| Comando | Descrição | Exemplo |
|---|---|---|
SUBSCRIBE canal | Assina canal | SUBSCRIBE noticias |
PUBLISH canal mensagem | Envia mensagem | PUBLISH noticias "Atualização!" |
UNSUBSCRIBE canal | Cancela assinatura | UNSUBSCRIBE noticias |
🔹 7. Comandos de Keys (Gerenciamento de chaves)
Usado para manipular chaves em geral.
| Comando | Descrição | Exemplo |
|---|---|---|
DEL key | Remove chave | DEL contador |
EXISTS key | Verifica se existe | EXISTS contador |
EXPIRE key seconds | Define tempo de expiração | EXPIRE contador 60 |
TTL key | Mostra tempo restante de vida | TTL contador |
RENAME key newkey | Renomeia chave | RENAME contador contador_backup |
KEYS pattern | Lista chaves com padrão | KEYS user:* |
TYPE key | Retorna tipo da chave | TYPE contador |
🔹 8. Transações e Scripts
Controlam execuções atômicas.
| Comando | Descrição |
|---|---|
MULTI / EXEC / DISCARD | Agrupam comandos em transação |
WATCH key | Monitora chave para abortar se for alterada |
EVAL script numkeys key [arg ...] | Executa script Lua no Redis |
🔹 9. Eventos: notify-keyspace-events
Permite que o Redis notifique eventos de chave (criação, expiração, modificação).
Como ativar:
CONFIG SET notify-keyspace-events Ex
-
E→ eventos de expiração (expired) -
x→ notificação no canal keyevent -
Outras flags:
K→ eventos de keyspace (__keyspace@0__:*)A→ todos os eventosg→ genéricos (DEL,RENAME, etc.)E→ expiraçãoe→ eviction (remoção por LRU)
Exemplo de uso:
SUBSCRIBE __keyevent@0__:expired
➡️ O cliente receberá notificações quando chaves expirarem.
🔹 10. Outros úteis
| Comando | Descrição |
|---|---|
FLUSHDB / FLUSHALL | Apagam todas as chaves do DB atual / todos DBs |
INFO | Mostra informações do servidor |
MONITOR | Mostra em tempo real todos os comandos executados |
CONFIG GET/SET | Lê ou altera configurações |
PING | Testa conexão com o servidor |
CLIENT LIST | Lista clientes conectados |
SAVE / BGSAVE | Faz snapshot do banco |
🧩 Dica extra
Você pode listar todos os comandos disponíveis diretamente no Redis com:
COMMAND
ou
COMMAND INFO <nome-do-comando>