Query Redis da Python

Query Redis da Python
Server di dizionario remoto, o Redis in breve, è un database in memoria open-source gratuito. Redis è un database NOSQL a thread singolo che è costruito per ad alte prestazioni e bassa latenza tra le letture e le scritture dei dati. Utilizza coppie di valore chiave per archiviare i dati.

Sebbene i dati siano archiviati nella memoria del sistema, è possibile aggiungere persistenza scaricando i dati memorizzati sul disco e caricandoli quando necessario.

In questa guida, ti presenteremo concetti chiave in Redis e ti mostreremo come utilizzare Redis con il linguaggio di programmazione Python.

Installazione di Redis

Il primo passo è impostare gli strumenti di sviluppo. In questa guida, utilizzeremo un sistema Debian 11 Linux.

Apri il terminale e aggiungi i repository ufficiali di Redis come:

Sudo Apt-get Aggiornamento
sudo apt -get installa curl gnupg -y
Curl https: // pacchetti.Redis.io/gpg | sudo Apt-Key Aggiungi -
echo "deb https: // pacchetti.Redis.io/deb $ (lsb_release -cs) main "| sudo tee/etc/apt/fonti.elenco.D/Redis.elenco
Sudo Apt-get Aggiornamento
sudo apt -get installa redis -y

Una volta installato Redis, avviare il server utilizzando il comando.

Redis-Server

È inoltre possibile utilizzare SystemCtl per avviare il server Redis utilizzando il comando come mostrato di seguito:

SUD SERVIZIO Redis-Server Start

Nozioni di base Redis

Prima di immergerti nell'uso di Python per lavorare con un database Redis, facciamo prima ricapitolare come utilizzare Redis usando l'interfaccia della riga di comando.

Collegamento al cluster.

Una volta in esecuzione il server Redis, apri una nuova sessione del terminale e inserisci il client di riga di comando Redis come:

$ Redis-cli
127.0.0.1: 6379>

Una volta eseguito il comando Redis-Cli, è necessario ottenere un prompt che mostra un indirizzo IP e la porta sul server Redis.

Commutazione "database"

Redis non funziona come un tipico database relazionale. Tuttavia, contiene un concetto di database che sono raccolte isolate di coppie di valore chiave. A differenza di un database nei database relazionali, in Redis, un database non ha schemi, tabelle o righe.

In Redis, utilizziamo i valori dell'indice come 0 per accedere al primo database. Redis non fornisce denominazione personalizzata come Sample_Database come previsto nei database tradizionali.

Per selezionare un database specifico, utilizzare il comando Seleziona seguito dall'indice del database per accedervi.

Ad esempio, per selezionare il database 10.

127.0.0.1: 6379 [1]> Seleziona 9
OK

Nota: gli indici del database in Redis iniziano da 0 a 15. Se provi ad accedere a un indice superiore a 16, otterrai un errore di portata.

127.0.0.1: 6379 [15]> Seleziona 16
(Errore) L'indice ERR DB è fuori portata

Impostazione dei valori

Come accennato, Redis utilizza la notazione del valore chiave per archiviare i dati. È possibile aggiungere nuovi dati utilizzando il comando set e la chiave e i valori separati da uno spazio.

Per esempio:

Set Nome "John"
OK

Se il comando Redis esegue correttamente, dovresti vedere un [OK].

È bene assicurarsi di fornire sia la chiave che il valore nel comando set. Altrimenti, otterrai un numero sbagliato di argomenti come mostrato:

127.0.0.1: 6379 [15]> Set Novalue
(Errore) Err Numero sbagliato di argomenti per il comando 'set'

Valori di recupero

È possibile recuperare i valori memorizzati nel server Redis utilizzando il comando Get e il nome chiave. Ad esempio, per ottenere il valore del "nome" chiave che possiamo fare:

Ottieni il nome
"John"

Assicurarsi che la chiave specificata esista sul server. Se si specifica una chiave inesistente, otterrai un risultato nullo come:

Ottenere niente
(zero)

Rimozione dei tasti

In Redis, è possibile eliminare una chiave e i suoi dati correlati utilizzando il comando DEL e il nome della chiave.

Per esempio:

Del nome del
(intero) 1

Usando Python per lavorare con Redis

Sebbene sia possibile creare la tua libreria per lavorare con Redis, una pratica comune è quella di utilizzare strumenti già disponibili per eseguire tali attività.

Puoi sfogliare il catalogo dei clienti Redis per cercare una libreria appropriata.

https: // redis.IO/Clienti#Python

In questo esempio, useremo Redis-Py in quanto è attivamente mantenuto e facile da installare e utilizzare.

Installazione di Python 3

Prima di procedere ulteriormente, assicurati di avere Python installato sul sistema. Apri il terminale e inserisci il comando:

Python3 -Version
-Bash: Python: comando non trovato

Se si ottiene un errore "comando non trovato", è necessario installare Python.

Usa i comandi:

Sudo Apt Aggiornamento
SUDO APT Installa Python3.9

I comandi sopra aggiorneranno i repository software e installeranno Python versione 3.9. Una volta completato, assicurati di avere la versione Python corretta.

Python3 -Version
Python 3.9.2

Installa PIP

Per installare il pacchetto Redis-Py, dobbiamo assicurarci di installare PIP. Apri il terminale e inserisci il comando:

sudo apt-get installa python3-pip

Installazione di Redis-Py

Una volta installato PIP3, immettere il comando in basso per installare il pacchetto Redis-Py.

sudo pip3 installa redis

Utilizzo del pacchetto Redis-Py.

Per illustrare come lavorare con Redis usando il pacchetto Python, replicheremo le operazioni nella sezione di base Redis.

Iniziamo collegando a Redis.

Crea un file Python e aggiungi il codice mostrato di seguito per connettersi al cluster Redis.

Importa Redis
# Crea connessione al cluster Redis
r = Redis.Redis (host = 'localhost', porta = 6379)

Una volta che abbiamo una connessione al server, possiamo iniziare a eseguire operazioni.

Nota: il file si connetterà a un database all'indice 0. È possibile specificare il tuo indice di destinazione impostando il parametro DB come:

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

L'esempio sopra si connetterà al database all'indice 10.

Per creare una coppia di valore chiave usando il pacchetto Python, puoi fare:

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

La riga sopra prenderà i primi argomenti come chiave e valore, rispettivamente.

Per prendere i valori, usa la funzione Ottieni come:

R.get ("nome")
Nome di stampa

La query sopra restituirà il valore nella chiave specificata come valore codificato:

b'john doe '

È possibile utilizzare la funzione di decodifica per decodificare il valore.

Stampa (nome.decodificare())
John Doe

Per eliminare una chiave e i dati corrispondenti, utilizzare la funzione Elimina come mostrato:

R.elimina ("nome")

Se ottieni il valore memorizzato in una chiave eliminata, Python restituirà un valore nessuno.

Conclusione

In questo articolo, ci immergiamo in profondità nel lavorare con il database Redis. Redis è potente e può essere essenziale in ambienti ad alte prestazioni. Controlla la documentazione per imparare a lavorare con il pacchetto Redis e Redis-Py.