Model: Key-Value Store (Redis)
História
Introdução
Dados estruturados no formato de Key (Unique) e Value.Armazena um conjunto de dados, seja ele simples ou complexo, identificados por um identificador ÚNICO (Key).
- Estrutura de dados (key e value) na memória
- Não há comandos para criação de estruturas
- Aceita qualquer tipo de dado/valor
- Recuperação do value (Busca) somente pela key
Schema Free
Usabilidade
Replicação e persistência.- Cache
- Sessão de usuário
- Carrinho de compras
- Messageria
- Fila
Exemplos
- Alto desempenho
- Bom desempenho em apps na nuvem
- Versatilidade de uso
Vantagens
- Menor capacidade de busca. A busca é limitada, somente pela Key.
Desvantagens
- Github
- StackOverflow
Cases
Exemplos
// Insert
SET user1:name "Heviane Bastos"
SET user '{"name": "Heviane Bastos", "age": "24"}'
// Check if Key exists
EXISTS user2:name // Return 0 (false) e 1 (true)
// Select
GET user1:name
GET user
// Delete
DEL user1:name
Consultar o tipo de dado/valor
TYPE user1:name // Return string
TYPE user1:hobbies // Return list
Definir tempo de expiração
- EX: Tempo em segundos.
- TX: Tempo em milisegundos
Propriedade tempo de expiração de uma key.
// Create record with expiration time
SET user2:name "Maria Bastos" EX 10
// Query (return) the remaining expiration time
// If set, returns the remaining expiration time
// If not set, returns -1
TTL user1:name // Seconds
PTTL user1:name // milliseconds
// Delete expiration time
PERSIST user1:name
Manipular collections como listas
// Create a list
LPUSH user1:hobbies "Training" // Return 1
LPUSH user1:hobbies "Cooking" // Return 2
// Access by index
LINDEX user1:hobbies 0
LINDEX user1:hobbies 1
// Access by index range
LRANGE user1:hobbies 0 1 // Range from 0 to 1