Primeiros passos com Redis e PHP para armazenamento rápido de dados

O popular mecanismo de armazenamento Redis é uma ferramenta excelente e obrigatória no arsenal de qualquer desenvolvedor de software. O mecanismo de armazenamento em memória permite armazenamento e recuperação de dados incrivelmente rápidos, até impressionantes 32 milhões de consultas por segundo, tornando-o um complemento excelente para qualquer mecanismo de banco de dados principal.

Vamos mergulhar e aprender como acelerar nossas operações online.

Redis: prós x contras

O maior benefício do Redis é que ele é um armazenamento de dados puramente na memória , o que significa que é extremamente rápido, pois o banco de dados é armazenado na RAM, portanto, nenhuma operação de I / O de arquivo para o disco rígido é necessária.

Outros benefícios agregados são sua simplicidade, suporte a clustering via Redis-cluster, além de seu suporte para oito tipos de dados diferentes, fornecendo a flexibilidade necessária para armazenar e gerenciar seus dados conforme necessário.

No entanto, sua maior desvantagem também é o fato de ser puramente um armazenamento de dados na memória, portanto, vem com limitações de tamanho. Depende da infraestrutura do seu servidor, mas para fins deste artigo e simplicidade, seu banco de dados Redis típico armazenará no máximo 2 a 4 GB de dados.

Isso significa que o Redis é usado para complementar os mecanismos de banco de dados popularmente usados, como mySQL, PostgreSQL e MongoDB, e não deve ser um substituto. Os principais usos do Redis incluem um cache, dados temporários / recentes que expiram em um curto período de tempo ou pequenos pedaços de dados que são acessados ​​com frequência.

Como instalar o Redis

Supondo que você esteja executando o Ubuntu ou qualquer distribuição Linux que contenha o comando apt-get , para instalar o Redis, basta executar o seguinte comando no terminal:

sudo apt-get install redis-server

Em seguida, verifique se o Redis foi instalado com sucesso. No terminal, execute o comando:

redis-cli --version

Isso deve imprimir a versão do Redis que você está executando e, presumindo que sim, execute o seguinte comando para se conectar ao Redis:

redis-cli

Isso lhe dará um prompt do Redis não padrão dentro do terminal, que se parece com:

127.0.0.1:6379>

Comandos de string

Cada entrada no Redis é identificada por uma chave, que pode ser qualquer string sem espaço em branco que você desejar. Strings contêm apenas um único valor e, por exemplo, execute os seguintes comandos no prompt do Redis para definir um valor para algumas teclas.

127.0.0.1:6379> set full_name "John Doe" 127.0.0.1:6379> set units 5

Agora você pode listar todas as chaves atualmente no banco de dados Redis com o comando keys.

127.0.0.1:6379> keys *

Isso resultará na exibição das duas chaves que você definiu anteriormente, full_name  e unidades . Você pode ver o valor dessas chaves com o comando get.

127.0.0.1:6379> get full_name "John Doe" 127.0.0.1:6379> get units 5

A exclusão de chaves pode ser feita facilmente com o comando del.

127.0.0.1:6379> del full_name

Também é possível incrementar rapidamente um número inteiro com o comando hincrby . O seguinte irá incrementar a tecla "unidades" de 5 para 7.

127.0.0.1:6379> incrby units 2

Comandos de lista

As listas no Redis são matrizes unidimensionais com uma ordem específica e permitem itens duplicados em diferentes posições da lista. Os itens podem ser adicionados à esquerda ou à direita de uma lista com os lpush e rpush comandos.

127.0.0.1:6379> lpush colors blue 127.0.0.1:6379> rpush colors red yellow green

Como você pode ver no exemplo acima, você pode enviar vários itens para uma lista em um único comando. Agora podemos ver todos os itens da lista usando o comando lrange .

127.0.0.1:6379> lrange colors 0 -1

Existem dois inteiros no final do comando, o primeiro que define a posição na lista para começar, e o segundo é o número de itens a serem retornados com -1 significando todos os itens. O resultado do comando acima será azul, vermelho, amarelo, verde .

Você também pode remover itens fora uma ou outra extremidade de uma lista usando os lpop e RPOP comandos.

127.0.0.1:6379> lpop colors blue 127.0.0.1:6379> rpop colors green

Você também pode obter o número de elementos em uma lista com o comando llen .

127.0.0.1:6379> llen colors (integer) 2

Por último, você pode remover um elemento de uma lista por meio do comando lrem .

127.0.0.1:6379> lrem colors 1 green (integer) 1

O comando lrem começa com o nome da lista, seguido pelo número de ocorrências a serem removidas e o nome do elemento a ser removido. Ele retornará o número de ocorrências encontradas e removidas da lista.

Comandos Hash

Um dos tipos de dados mais populares no Redis são os hashes, que permitem armazenar vários pares de valores-chave em uma única entrada. A chave ainda não precisa existir e você define pares de valores-chave a qualquer momento com o comando hset .

127.0.0.1:6379> hset user:581 full_name "Jane Doe" 127.0.0.1:6379> hset user:581 points 500

Você também pode definir vários pares de valores-chave de um hash em um único comando usando o comando hmset .

127.0.0.1:6379> hmset user:581 email [email protected] gender F

O hash identificado pelo usuário- chave : 581 agora tem um total de quatro pares de valores-chave, todos os quais podem ser facilmente recuperados com o comando hgetall .

127.0.0.1:6379> hgetall user:581 1) "full_name" 2) "Jane Doe" 3) "points" 4) "500" 5) "email" 6) "[email protected]" 7) "gender" 8) "F"

Você também pode obter o valor de um único par de valores-chave dentro de um hash usando o comando get .

127.0.0.1:6379> hget user:581 email "[email protected]"

Para quaisquer números inteiros dentro do hash, você pode incrementá-los por um valor especificado com o comando code hincrby .

127.0.0.1:6379> hincrby user:581 points 20 (integer) 520

O valor da chave points dentro do hash agora foi incrementado de 20 a 520. Um único par de valores-chave dentro de um hash pode ser excluído com o comando hdel .

127.0.0.1:6379> hdel user:581 gender

Como alternativa, você também pode excluir um hash totalmente, incluindo todos os pares de valores-chave, usando o comando del .

127.0.0.1:6379> del user:581

Chaves Redis expiradas

Outro excelente recurso do Redis é a capacidade de expirar chaves automaticamente após um número definido de segundos, usando o comando expire . Observe que você só pode expirar chaves completas e não elementos singulares em uma lista ou hash. Por exemplo:

127.0.0.1:6379> expire full_name 10

Isso definirá um tempo de expiração de 10 segundos na chave full_name que você criou na seção de strings. Depois de executar o comando acima, espere 10 segundos e tente recuperar o valor da chave novamente.

127.0.0.1:6379> get full_name (nil)

Como esperado, a chave agora expirou, portanto obtemos nulo como resultado.

Conecte-se ao Redis com PHP

Agora que você aprendeu o básico sobre como armazenar e recuperar dados com o Redis, é hora de conectá-lo ao seu software. Todas as linguagens de programação possuem módulos / extensões para Redis, mas, para este exemplo, usaremos PHP.

Você deve primeiro instalar a extensão PHP-Redis, pois ela não é instalada por padrão. No terminal, execute o comando.

sudo apt-get install php-redis

Uma vez instalado, certifique-se de reiniciar o PHP-fpm para que a extensão seja carregada corretamente. Aqui estão alguns códigos PHP que se conectam e fazem interface com o Redis.

<> // Connect to redis $conn = new redis(); try { $conn->connect('127.0.0.1', 6379, 5); } catch (RedisException $e) { die("Unable to connect to redis"); } // Set string $conn->set('country', 'Canada'); // Get string $value = $conn->get('country'); echo "Country is: $value "; // Define a profile $profile = [ 'username' => 'mike', 'full_name' => 'Mike Smith', 'email' => '[email protected]', 'country' => 'Australia' ]; // Create a hash $conn->hmset('user:188', $profile); // Get all values of the profile hash $values = $conn->hgetall('user:188'); print_r($values); // Get only the e-mail address $email = $conn->hget('user:188', 'email'); echo "E-mail is: $email "; // Expire the hash in 15 seconds $conn->expire('user:188', 15);

O código de exemplo acima deve ser bastante simples. Primeiro, ele se conecta ao Redis com um tempo limite de 5 segundos e, a seguir, define e obtém uma string e um hash. Todos os comandos do Redis podem ser executados via OOP chamando-os diretamente do objeto Redis, conforme exemplo acima.

Você está no seu caminho!

Parabéns, você aprendeu o básico sobre como armazenar e recuperar dados em alta velocidade por meio do mecanismo de armazenamento Redis, incluindo como se conectar e interagir com o Redis usando PHP.

Observe que este artigo cobre apenas o básico, e a página Tipos de dados do Redis da documentação é um ótimo lugar para continuar explorando o Redis e todas as suas funcionalidades.


Como copiar e colar no Chromebook

Como copiar e colar no Chromebook

A primeira coisa que você pode se perguntar ao mudar para um Chromebook é como fazer as coisas básicas - o tipo de coisa que você tinha nas costas da mão em seu sistema operacional anterior. Copiar e colar é uma função fundamental que você deve usar em um ponto ou outro.

Como fazer um teste de digitação no Linux com tt

Como fazer um teste de digitação no Linux com tt

Na era moderna da tecnologia, a digitação se tornou uma das atividades mais comuns para muitas profissões. Aprender a digitar mais rápido com precisão pode ajudá-lo a realizar mais tarefas no mesmo período.

Wi-Fi não funciona no Ubuntu? Veja como consertar

Wi-Fi não funciona no Ubuntu? Veja como consertar

O Ubuntu é popular por sua robustez e relativamente menos erros. Mas não sem seu saco de problemas, com certeza. Um desses problemas é com o driver Wi-Fi. Você pode ligar o sistema apenas para descobrir que o Wi-Fi não está funcionando.

Como criar e ler códigos QR no Chromebook

Como criar e ler códigos QR no Chromebook

Códigos de resposta rápida, ou códigos QR para abreviar, são códigos de barras avançados que contêm mais informações do que um código de barras tradicional. Esses códigos são bidimensionais, permitindo que você os escaneie vertical ou horizontalmente.

Como instalar e remover pacotes no Arch Linux

Como instalar e remover pacotes no Arch Linux

Quer instalar pacotes no Arch Linux, mas não sabe como? Muitas pessoas enfrentam esse problema quando migram pela primeira vez de distribuições baseadas em Debian para o Arch. No entanto, você pode gerenciar facilmente pacotes em seu sistema baseado em Arch usando gerenciadores de pacotes.

Como instalar o Spotify no Linux

Como instalar o Spotify no Linux

O Spotify é um dos maiores serviços de streaming de música que existe. Possui clientes nativos para dispositivos móveis (Android e iOS) e desktop (Mac e Windows).

9 comandos básicos para começar a usar o Linux

9 comandos básicos para começar a usar o Linux

Os guias de instruções do Linux geralmente esperam que você execute certas operações no terminal, que podem parecer intimidantes no início. Mas não se preocupe; esta folha de dicas de comandos do Linux cobrirá o processo de abertura de um terminal e emissão de alguns comandos úteis.

Como mover arquivos do Linux com o comando Mv

Como mover arquivos do Linux com o comando Mv

Embora você provavelmente já saiba como mover um arquivo no Linux usando o navegador de arquivos GUI, você pode estar se perguntando se existe um comando mover no terminal que permite mover arquivos rapidamente para diretórios diferentes. O comando mv é o que você deseja e é fácil de usar com sua sintaxe simples e alguns sinalizadores de segurança opcionais.

As 10 melhores distribuições Linux baseadas em Debian

As 10 melhores distribuições Linux baseadas em Debian

O Debian padrão e seu derivado popular Ubuntu são ótimas opções versáteis para um sistema Linux, mas se você tiver necessidades mais especializadas, pode querer uma alternativa Debian.

Como encontrar e remover arquivos duplicados no Linux usando fdupes

Como encontrar e remover arquivos duplicados no Linux usando fdupes

Ao trabalhar com grandes quantidades de mídia e documentos, é bastante comum acumular várias cópias do mesmo arquivo no computador. Inevitavelmente, o que se segue é um espaço de armazenamento desordenado cheio de arquivos redundantes, provocando verificações periódicas de arquivos duplicados em seu sistema.

Qual é a melhor distribuição de Linux para laptops?

Qual é a melhor distribuição de Linux para laptops?

Uma das melhores coisas sobre o Linux é que existe uma distro para todos, não importa o tipo de hardware que você está usando. Você pode tirar um laptop velho e surrado do sótão, tirar o pó, instalar o Linux e pronto.

Fazer anotações em Chromebooks é mais fácil com o Cursive

Fazer anotações em Chromebooks é mais fácil com o Cursive

Cursive é um Progressive Web App (PWA) que o Google introduziu com o lançamento do HP Chromebook x2 11. Você pode usar este aplicativo para fazer anotações manuscritas em seu Chromebook equipado com uma caneta.

Como usar o Vim: um guia básico

Como usar o Vim: um guia básico

O Vim é o editor de código mais poderoso e versátil disponível para sistemas do tipo Unix. É uma extensão do editor Vi desenvolvido por Bill Joy. O Vim está disponível por padrão na maioria dos sistemas Linux e BSD.

10 melhores distros Linux para desenvolvedores

10 melhores distros Linux para desenvolvedores

Embora o Linux possa não ser o sistema operacional preferido para usuários casuais, é a escolha certa para a maioria dos desenvolvedores e programadores. Linux é um sistema operacional mais prático que foi projetado explicitamente com a programação e os desenvolvedores em mente.

Como criptografar e descriptografar facilmente arquivos e diretórios no Linux

Como criptografar e descriptografar facilmente arquivos e diretórios no Linux

Você sempre quis criptografar arquivos no Linux de forma rápida e fácil sem ter que instalar e aprender novos pacotes de software? Esta é uma maneira excelente e fácil de criptografar facilmente arquivos ou diretórios via AES256 protegidos por senha, ajudando a manter seus arquivos longe de olhares indiscretos.

Distros Linux Stable vs. Bleeding-Edge: Qual você deve escolher?

Distros Linux Stable vs. Bleeding-Edge: Qual você deve escolher?

Uma das principais escolhas que muitos usuários Linux enfrentam ao escolher uma distribuição Linux é sua estabilidade, ou quanto o software muda.

2020 é o ano da pandemia de malware do Linux?

2020 é o ano da pandemia de malware do Linux?

Sua reputação de segurança significa que o Linux é frequentemente considerado menos vulnerável aos tipos de ameaças que regularmente assolam os sistemas Microsoft Windows. Grande parte dessa segurança percebida vem do número relativamente baixo de sistemas Linux, mas os cibercriminosos estão começando a ver valor em escolher qualidade em vez de quantidade?

Como converter entre pacotes Linux usando o Alien

Como converter entre pacotes Linux usando o Alien

Você quer converter um pacote Linux para algum outro formato? Talvez o pacote que você está procurando não esteja disponível para sua distro, mas você ainda deseja, não importa o que aconteça. Ou talvez você seja um desenvolvedor e queira economizar seu tempo reempacotando rapidamente seu programa para outros formatos, sem ter que construir o pacote novamente.

Como instalar e usar o Neofetch no Linux

Como instalar e usar o Neofetch no Linux

Neofetch exibe um logotipo ASCII de sua distribuição Linux junto com informações relacionadas ao seu sistema no terminal. Muitos usuários de Linux irão usá-lo em screenshots de seus desktops apenas porque acham que é legal. E eles estão certos. Você pode usá-lo para mostrar sua configuração em capturas de tela também.

Como instalar um servidor FTP no Ubuntu em 5 etapas

Como instalar um servidor FTP no Ubuntu em 5 etapas

Se você estiver configurando um servidor Linux, precisará de acesso ao FTP. Isso significa primeiro instalar um servidor FTP no Linux. Deve ser uma das primeiras coisas a fazer após instalar o sistema operacional do servidor.

Como copiar e colar no Chromebook

Como copiar e colar no Chromebook

A primeira coisa que você pode se perguntar ao mudar para um Chromebook é como fazer as coisas básicas - o tipo de coisa que você tinha nas costas da mão em seu sistema operacional anterior. Copiar e colar é uma função fundamental que você deve usar em um ponto ou outro.

Como fazer um teste de digitação no Linux com tt

Como fazer um teste de digitação no Linux com tt

Na era moderna da tecnologia, a digitação se tornou uma das atividades mais comuns para muitas profissões. Aprender a digitar mais rápido com precisão pode ajudá-lo a realizar mais tarefas no mesmo período.

Wi-Fi não funciona no Ubuntu? Veja como consertar

Wi-Fi não funciona no Ubuntu? Veja como consertar

O Ubuntu é popular por sua robustez e relativamente menos erros. Mas não sem seu saco de problemas, com certeza. Um desses problemas é com o driver Wi-Fi. Você pode ligar o sistema apenas para descobrir que o Wi-Fi não está funcionando.

Como criar e ler códigos QR no Chromebook

Como criar e ler códigos QR no Chromebook

Códigos de resposta rápida, ou códigos QR para abreviar, são códigos de barras avançados que contêm mais informações do que um código de barras tradicional. Esses códigos são bidimensionais, permitindo que você os escaneie vertical ou horizontalmente.

Como instalar e remover pacotes no Arch Linux

Como instalar e remover pacotes no Arch Linux

Quer instalar pacotes no Arch Linux, mas não sabe como? Muitas pessoas enfrentam esse problema quando migram pela primeira vez de distribuições baseadas em Debian para o Arch. No entanto, você pode gerenciar facilmente pacotes em seu sistema baseado em Arch usando gerenciadores de pacotes.

Como instalar o Spotify no Linux

Como instalar o Spotify no Linux

O Spotify é um dos maiores serviços de streaming de música que existe. Possui clientes nativos para dispositivos móveis (Android e iOS) e desktop (Mac e Windows).

9 comandos básicos para começar a usar o Linux

9 comandos básicos para começar a usar o Linux

Os guias de instruções do Linux geralmente esperam que você execute certas operações no terminal, que podem parecer intimidantes no início. Mas não se preocupe; esta folha de dicas de comandos do Linux cobrirá o processo de abertura de um terminal e emissão de alguns comandos úteis.

Como mover arquivos do Linux com o comando Mv

Como mover arquivos do Linux com o comando Mv

Embora você provavelmente já saiba como mover um arquivo no Linux usando o navegador de arquivos GUI, você pode estar se perguntando se existe um comando mover no terminal que permite mover arquivos rapidamente para diretórios diferentes. O comando mv é o que você deseja e é fácil de usar com sua sintaxe simples e alguns sinalizadores de segurança opcionais.

Diferença entre o superusuário raiz no Ubuntu

Diferença entre o superusuário raiz no Ubuntu

Quer saber qual é a diferença entre Root Superuser no Ubuntu? Bem, nós temos você coberto aqui.

As 10 melhores distribuições Linux baseadas em Debian

As 10 melhores distribuições Linux baseadas em Debian

O Debian padrão e seu derivado popular Ubuntu são ótimas opções versáteis para um sistema Linux, mas se você tiver necessidades mais especializadas, pode querer uma alternativa Debian.