NoSQL: Bancos de dados orientados à Key-Value

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

Usabilidade

Replicação e persistência.

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

                                // 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
                            

References