Consulta Redis de Python

Consulta Redis de Python
Servidor de dicionário remoto, ou redis, é um banco de dados de memória aberto e de código aberto. Redis é um banco de dados NoSQL de thread único que é construído para alto desempenho e baixa latência entre leituras e gravações de dados. Ele usa pares de valor-chave para armazenar os dados.

Embora os dados sejam armazenados na memória do sistema, você pode adicionar persistência despejando os dados armazenados no disco e carregando -os quando necessário.

Neste guia, apresentaremos conceitos -chave em Redis e mostraremos como usar o Redis com a linguagem de programação Python.

Instalando Redis

O primeiro passo é configurar as ferramentas de desenvolvimento. Neste guia, usaremos um sistema Debian 11 Linux.

Abra o terminal e adicione os repositórios oficiais de Redis como:

Atualização de sudo apt-get
sudo apt -get install curl gnupg -y
Curl https: // pacotes.Redis.io/gpg | Sudo Apt-Key Add -
Echo "Deb https: // pacotes.Redis.io/deb $ (lsb_release -cs) main "| sudo tee/etc/apt/fontes.lista.D/Redis.lista
Atualização de sudo apt-get
sudo apt -get install redis -y

Depois de instalar o Redis, inicie o servidor usando o comando.

Redis-Server

Você também pode usar o SystemCTL para iniciar o servidor Redis usando o comando como mostrado abaixo:

SUDO Service Redis-Server Start

Redis Basics

Antes de mergulhar no uso do Python para trabalhar com um banco de dados Redis, vamos primeiro recapitular como usar o Redis usando a interface da linha de comando.

Conectando -se ao cluster.

Quando o servidor Redis estiver em execução, abra uma nova sessão de terminal e insira o cliente da linha de comando Redis como:

$ redis-cli
127.0.0.1: 6379>

Depois de executar o comando Redis-Cli, você deve obter um prompt mostrando um endereço IP e a porta para o servidor Redis.

Switching "Bathabases"

Redis não funciona como um banco de dados relacional típico. No entanto, ele contém um conceito de bancos de dados que são coleções isoladas de pares de valor-chave. Ao contrário de um banco de dados em bancos de dados relacionais, em Redis, um banco de dados não possui esquemas, tabelas ou linhas.

Em Redis, usamos valores de índice como 0 para acessar o primeiro banco de dados. Redis não fornece nomeação personalizada, como sample_database, conforme fornecido nos bancos de dados tradicionais.

Para selecionar um banco de dados específico, use o comando select seguido pelo índice do banco de dados para acessá -lo.

Por exemplo, para selecionar o banco de dados 10.

127.0.0.1: 6379 [1]> Selecione 9
OK

NOTA: Os índices de banco de dados em Redis começam de 0 a 15. Se você tentar acessar um índice acima de 16, você ficará fora de erro de alcance.

127.0.0.1: 6379 [15]> Selecione 16
(Erro) Err db Índice está fora de intervalo

Definir valores

Como mencionamos, Redis usa a notação de valor-chave para armazenar os dados. Você pode adicionar novos dados usando o comando set e a chave e os valores separados por um espaço.

Por exemplo:

Defina o nome "John"
OK

Se o comando Redis for executado com sucesso, você deverá ver um [OK].

É bom garantir que você forneça a chave e o valor no comando set. Caso contrário, você receberá um número errado de erro de argumentos, como mostrado:

127.0.0.1: 6379 [15]> Definir Novalue
(erro) Errar número errado de argumentos para o comando 'set'

Buscar valores

Você pode buscar valores armazenados no servidor Redis usando o comando get e o nome da chave. Por exemplo, para obter o valor da chave "nome" que podemos fazer:

Obtenha o nome
"John"

Verifique se a chave especificada existe no servidor. Se você especificar uma chave inexistente, obterá um resultado nulo como:

Obtenha em nenhum lugar
(nada)

Remoção de chaves

Em Redis, você pode excluir uma chave e seus dados relacionados usando o comando del e o nome da chave.

Por exemplo:

Del Name
(Inteiro) 1

Usando Python para trabalhar com Redis

Embora você possa criar sua biblioteca para trabalhar com Redis, uma prática comum é usar ferramentas já disponíveis para executar essas tarefas.

Você pode navegar no catálogo dos clientes Redis para procurar uma biblioteca apropriada.

https: // redis.io/clientes#python

Neste exemplo, usaremos o Redis-Py, pois é mantido ativamente e fácil de instalar e usar.

Instalando o Python 3

Antes de prosseguir, verifique se você está instalado no seu sistema. Abra o terminal e insira o comando:

Python3 -Versão
-Bash: Python: comando não encontrado

Se você receber um erro de "comando não encontrado", precisará instalar o python.

Use os comandos:

Atualização do sudo apt
sudo apt install python3.9

Os comandos acima atualizarão os repositórios de software e instalarão o Python versão 3.9. Depois de concluído, verifique se você tem a versão correta do Python.

Python3 -Versão
Python 3.9.2

Instale o PIP

Para instalar o pacote Redis-Py, precisamos garantir que tenhamos o PIP instalado. Abra o terminal e insira o comando:

sudo apt-get install python3-pip

Instalando Redis-Py

Depois de instalar o PIP3, digite o comando abaixo para instalar o pacote Redis-Py.

sudo pip3 install redis

Usando o pacote Redis-Py.

Para ilustrar como trabalhar com Redis usando o pacote Python, replicaremos as operações na seção Redis Basics.

Vamos começar conectando -nos a Redis.

Crie um arquivo python e adicione o código mostrado abaixo para conectar -se ao cluster Redis.

importar redis
# Crie conexão com o cluster Redis
r = redis.Redis (host = 'localhost', port = 6379)

Depois de termos uma conexão com o servidor, podemos começar a executar operações.

Nota: o arquivo se conectará a um banco de dados no índice 0. Você pode especificar seu índice de destino definindo o parâmetro DB como:

r = redis.Redis (host = 'localhost', porta = 6379, db = 10)

O exemplo acima se conectará ao banco de dados no índice 10.

Para criar um par de valores-chave usando o pacote Python, você pode fazer:

r.Set ("Nome", "John Doe")

A linha acima levará os primeiros argumentos como chave e valor, respectivamente.

Para buscar os valores, use a função get como:

r.Get ("Nome")
Nome da impressão

A consulta acima retornará o valor na chave especificada como um valor codificado:

b'john doe '

Você pode usar a função decodificadora para decodificar o valor.

Imprimir (nome.decodificar())
John Doe

Para excluir uma chave e seus dados correspondentes, use a função Excluir como mostrado:

r.excluir ("nome")

Se você obtiver o valor armazenado em uma chave excluída, o Python retornará um valor nenhum.

Conclusão

Neste artigo, mergulhamos profundamente para trabalhar com o banco de dados Redis. Redis é poderoso e pode ser essencial em ambientes de alto desempenho. Verifique a documentação para aprender a trabalhar com o pacote Redis e Redis-Py.