Redis — Básico

Allan Barbosa
allbarbos
Published in
2 min readJan 3, 2019

O Redis é uma estrutura de dados armazenada em memória que pode ser utilizada como banco de dados, cache e message broker.

Ele suporta estruturas de dados como strings, hashes, listas, conjuntos, conjuntos classificados com consultas de intervalo, bitmaps, hyperloglogs, índices geoespaciais com consultas e fluxos radius.

Aqui vai alguns comandos básicos para brincar:

Setar uma chave com valor

SET birl "birl gates"

Obter o valor de uma chave

GET birl

Deletar uma chave

DEL birl

Incrementar o valor inteiro de uma chave

SET birl 1
INCR birl

Ao invés de utilizar a função INCR também poderíamos incrementar o valor da seguinte forma:

x = GET count
x = x + 1
SET count x

O problema é que ao fazer dessa maneira funcionará somente enquanto houver um único cliente utilizando a chave. Veja o que aconteceria se dois clientes estivessem acessando a chave ao mesmo tempo:

O cliente A lê a contagem como 10.
O cliente B lê a contagem como 10.
O cliente A incrementa 10 e configura a contagem para 11.
O cliente B incrementa 10 e define a contagem para 11.
Queríamos que o valor fosse 12, mas em vez disso é 11!

Isso ocorre porque incrementar o valor dessa maneira não é uma operação atômica e a função INCR impedirá que isso aconteça, porque é uma operação atômica.

Setar tempo de expiração para chave/valor

SET birl "birl gates"
EXPIRE birl 120

A função EXPIRE faz com que a chave exista por um determinado período de tempo em segundos e para obter quanto tempo falta para a expiração da chave basta utilizar TTL

TTL birl

A função TTL pode ter os seguintes retornos:
-2: Quer dizer que a chave foi expirada e deixou de existir
-1: A chave nunca expirará
>= 0: Segundos que faltam para que a chave expire

--

--