"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Redis 2

Redis 2

Publicado em 15/08/2024
Navegar:586

Redis 2

Redis – Listas, Conjuntos e HashMaps

Esta é uma continuação da postagem anterior do blog

Existem três outros tipos de dados disponíveis além dos pares de valores-chave

Listas

Essa estrutura de dados se assemelha à lista em Python ou ao array em Javascript ou C#. Eles podem ser usados ​​para guardar itens usados ​​recentemente. As operações comuns são;

Operações Explicações Exemplos Explicações adicionais
LPUSH Adiciona um item ao início da lista Amigos do LPUSH "Sophia" semelhante a Array.unshift em javascript
RANGE Obter todos os itens de uma lista LRANGE amigos 0 -1 da mesma forma, uma lista em python 0 é o primeiro item e -1 é o último item
RPUSH Adiciona um item ao final da lista Amigos RPUSH "Poe" semelhante a Array.push em javascript
LPOP Remove um item do início da lista Amigos do LPOP "Poe" Retornará 1 se Poe existir na lista e 0 caso contrário
RPOP Remove um item do final da lista Amigos RPOP "Sophia" Retornará 1 se Sophia existir na lista e 0 caso contrário

Conjuntos

Uma estrutura de dados que possui apenas itens exclusivos. semelhante a conjuntos em Python e conjuntos em Javascript e HashSets em C#. As operações comuns incluem;

Operações Explicações Exemplos Explicações adicionais
SAD Adiciona um valor ao conjunto SADD cores "rosa"
MEMBROS retorna os membros do conjunto Cores SMEMBERS devolverá todos os itens nas cores definidas
SREM Remove membros do conjunto Cores SREM "rosa" Retornará 1 se rosa existir na lista e 0 caso contrário

Mapas hash

Um hashmap é um grupo de pares de valores-chave. Um hashmap, entretanto, não pode ser aninhado. Vamos pegar o cenário de uma pessoa com nome, e-mail e número de telefone

HSET person name "Joe" # Adds the key-value pair {name : joe} to the hashmap
HSET person email "[email protected]" # Adds the key-value pair {email : [email protected]} to the hashmap
HSET person phone_number " 2345656655413" # Adds the key-value pair {number : ....} to the hashmap

o comando HGET pode ser usado para obter o valor de uma chave específica em um hashmap

HGET person name # returns "Joe"

o comando HGETALL todo o par chave-valor no hashmap

HGETALL person 

1) "name"
2) "Joe"
3) "email"
4) "[email protected]"
5) "phone_number"
6) " 2345656655413"

o comando HDEL exclui um par de valores-chave por sua chave

HDEL person name # removes {name : joe}

o comando HEXISTS verifica se existe uma chave em um hashset

HEXISTS person name # returns 0 because we've deleted it before

Esses são a maioria dos comandos básicos que um desenvolvedor deve saber.


Perguntas comuns da entrevista

  1. Qual é o significado completo de Redis?: Redis significa REmote DIctionary Server

  2. Como o redis difere dos bancos de dados tradicionais como o MySQL?: O Redis opera na memória principal e possui operações básicas para acessar valores rapidamente, ao contrário do SQL, que reside no disco e possui uma ampla gama de operações brutas

  3. Quais são as limitações do Redis em relação ao tamanho e tipo de dados?: O Redis foi projetado para armazenar valores que cabem na memória da máquina. Não é adequado para modelos relacionais complexos com junções ou para estruturar grandes blobs

  4. Como você lida com o cache em um ambiente distribuído usando Redis?: Lide com o cache configurando instâncias do Redis como uma camada de cache na frente do banco de dados. usar hashing consistente para distribuir chaves para os nós de cache garante uma distribuição uniforme de carga e reduz perdas de cache

  5. Quando você deve usar os tipos de dados List no Redis?: As listas são ótimas para filas atômicas duráveis, para filas de trabalhos, logs, buffers e muitos outros casos de uso

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/ezekiel_77/redis-2-fec?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3