Skip to main content

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).

ComandoDescriçãoExemplo
SET key valueDefine o valor de uma chaveSET user:1 "Maria"
GET keyRetorna o valor da chaveGET user:1
INCR keyIncrementa o valor numérico em 1INCR contador
DECR keyDecrementa o valor numérico em 1DECR contador
INCRBY key nIncrementa por um valor específico (Uso típico: contadores de acessos, IDs automáticos, métricas, etc.)INCRBY contador 5
APPEND key valueConcatena texto no final do valor atualAPPEND user:1 " Silva"
STRLEN keyRetorna o tamanho da stringSTRLEN user:1
GETSET key new_valueDefine novo valor e retorna o antigoGETSET user:1 "Carlos"

🔹 2. Comandos de Hashes

Hashes armazenam campos e valores (como um dicionário).

ComandoDescriçãoExemplo
HSET key field valueDefine um campo dentro do hashHSET user:1 name "Maria"
HGET key fieldRetorna o valor de um campoHGET user:1 name
HGETALL keyRetorna todos os campos e valoresHGETALL user:1
HMSET key field1 val1 field2 val2 ...Define múltiplos camposHMSET user:1 name "João" age 22
HINCRBY key field nIncrementa um campo numéricoHINCRBY user:1 age 1
HDEL key fieldRemove um campoHDEL user:1 age
HEXISTS key fieldVerifica se o campo existeHEXISTS user:1 age

🔹 3. Comandos de Lists

Listas são sequências ordenadas de strings (como uma fila ou pilha).

ComandoDescriçãoExemplo
LPUSH key valueAdiciona item no início da listaLPUSH fila "tarefa1"
RPUSH key valueAdiciona item no fim da listaRPUSH fila "tarefa2"
LPOP keyRemove e retorna o primeiro itemLPOP fila
RPOP keyRemove e retorna o último itemRPOP fila
LRANGE key start stopRetorna intervalo de elementosLRANGE fila 0 -1
LLEN keyRetorna o tamanho da listaLLEN fila
LTRIM key start stopMantém apenas uma faixa da listaLTRIM fila 0 4

🔹 4. Comandos de Sets

Sets são coleções não ordenadas e únicas.

ComandoDescriçãoExemplo
SADD key memberAdiciona um elementoSADD tags redis
SMEMBERS keyLista todos os elementosSMEMBERS tags
SISMEMBER key memberVerifica se um elemento está no setSISMEMBER tags redis
SREM key memberRemove elementoSREM tags redis
SUNION key1 key2União de setsSUNION tags1 tags2
SINTER key1 key2Interseção de setsSINTER tags1 tags2
SDIFF key1 key2Diferença de setsSDIFF tags1 tags2

🔹 5. Comandos de Sorted Sets (ZSets)

Parecidos com Sets, mas com pontuações (score) que definem a ordem.

ComandoDescriçãoExemplo
ZADD key score memberAdiciona elemento com pontuaçãoZADD ranking 100 "João"
ZRANGE key start stop [WITHSCORES]Retorna elementos por posiçãoZRANGE ranking 0 -1 WITHSCORES
ZREVRANGE key start stopRetorna em ordem inversaZREVRANGE ranking 0 -1
ZINCRBY key increment memberIncrementa score de um membroZINCRBY ranking 10 "Maria"
ZSCORE key memberRetorna o score de um membroZSCORE ranking "João"

🔹 6. Comandos de Pub/Sub (Mensageria)

Permite publicar e assinar mensagens entre clientes.

ComandoDescriçãoExemplo
SUBSCRIBE canalAssina canalSUBSCRIBE noticias
PUBLISH canal mensagemEnvia mensagemPUBLISH noticias "Atualização!"
UNSUBSCRIBE canalCancela assinaturaUNSUBSCRIBE noticias

🔹 7. Comandos de Keys (Gerenciamento de chaves)

Usado para manipular chaves em geral.

ComandoDescriçãoExemplo
DEL keyRemove chaveDEL contador
EXISTS keyVerifica se existeEXISTS contador
EXPIRE key secondsDefine tempo de expiraçãoEXPIRE contador 60
TTL keyMostra tempo restante de vidaTTL contador
RENAME key newkeyRenomeia chaveRENAME contador contador_backup
KEYS patternLista chaves com padrãoKEYS user:*
TYPE keyRetorna tipo da chaveTYPE contador

🔹 8. Transações e Scripts

Controlam execuções atômicas.

ComandoDescrição
MULTI / EXEC / DISCARDAgrupam comandos em transação
WATCH keyMonitora 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 eventos
    • g → genéricos (DEL, RENAME, etc.)
    • E → expiração
    • e → eviction (remoção por LRU)

Exemplo de uso:

SUBSCRIBE __keyevent@0__:expired

➡️ O cliente receberá notificações quando chaves expirarem.


🔹 10. Outros úteis

ComandoDescrição
FLUSHDB / FLUSHALLApagam todas as chaves do DB atual / todos DBs
INFOMostra informações do servidor
MONITORMostra em tempo real todos os comandos executados
CONFIG GET/SETLê ou altera configurações
PINGTesta conexão com o servidor
CLIENT LISTLista clientes conectados
SAVE / BGSAVEFaz snapshot do banco

🧩 Dica extra

Você pode listar todos os comandos disponíveis diretamente no Redis com:

COMMAND

ou

COMMAND INFO <nome-do-comando>