Introduzione a Redis e PHP per larchiviazione rapida dei dati

Il popolare motore di archiviazione Redis è uno strumento eccellente e indispensabile nell'arsenale di qualsiasi sviluppatore di software. Il motore di archiviazione in memoria consente l'archiviazione e il recupero dei dati incredibilmente veloci, fino a 32 milioni di query al secondo, rendendolo un complemento ideale per qualsiasi motore di database principale.

Immergiamoci e impariamo come velocizzare le nostre operazioni online.

Redis: pro e contro

Il più grande vantaggio di Redis è che si tratta di un archivio dati puramente in memoria , il che significa che è incredibilmente veloce poiché il database è archiviato nella RAM, quindi non sono necessarie operazioni di I/O sui file sul disco rigido.

Altri vantaggi aggiuntivi sono la sua semplicità, il supporto del clustering tramite Redis-cluster, oltre al supporto per otto diversi tipi di dati che forniscono la flessibilità necessaria per archiviare e gestire i dati secondo necessità.

Tuttavia, il suo più grande svantaggio è anche il fatto che è puramente un archivio dati in memoria, quindi presenta limitazioni di dimensioni. Dipende dall'infrastruttura del tuo server, ma per motivi di semplicità e di questo articolo, il tuo database Redis tipico conterrà solo un massimo di 2-4 GB di dati.

Ciò significa che Redis viene utilizzato per completare i motori di database comunemente utilizzati come mySQL, PostgreSQL e MongoDB e non è inteso come un sostituto. Gli usi principali di Redis includono una cache, dati temporanei/recenti che scadranno in un breve periodo di tempo o piccoli pezzi di dati a cui si accede di frequente.

Come installare Redis

Supponendo che tu stia eseguendo Ubuntu o qualsiasi distribuzione Linux che contenga il comando apt-get , per installare Redis è sufficiente eseguire il seguente comando nel terminale:

sudo apt-get install redis-server

Quindi, controlla che Redis sia stato installato correttamente. All'interno del terminale, esegui il comando:

redis-cli --version

Questo dovrebbe stampare la versione di Redis che stai utilizzando e, supponendo che sia così, esegui il seguente comando per connetterti a Redis:

redis-cli

Questo ti darà un prompt Redis non standard all'interno del terminale, che assomiglia a:

127.0.0.1:6379>

Comandi stringa

Ogni voce in Redis è identificata da una chiave, che può essere qualsiasi stringa non di spazi bianchi desiderata. Le stringhe contengono solo un singolo valore e, ad esempio, eseguire i seguenti comandi al prompt di Redis per impostare un valore su un paio di chiavi.

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

Ora puoi elencare tutte le chiavi attualmente all'interno del database Redis con il comando keys.

127.0.0.1:6379> keys *

Ciò comporterà la visualizzazione delle due chiavi precedentemente impostate, full_name  e units . Puoi vedere il valore di queste chiavi con il comando get.

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

L'eliminazione delle chiavi può essere facilmente eseguita con il comando del.

127.0.0.1:6379> del full_name

È anche possibile incrementare rapidamente un numero intero con il comando hincrby . Quanto segue incrementerà il tasto "unità" da 5 a 7.

127.0.0.1:6379> incrby units 2

Elenco comandi

Gli elenchi in Redis sono array unidimensionali con un ordine specifico e consentono elementi duplicati in diverse posizioni dell'elenco. Gli elementi possono essere aggiunti a sinistra oa destra di un elenco con i comandi lpush e rpush .

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

Come puoi vedere dall'esempio sopra, puoi inserire più elementi in un elenco all'interno di un singolo comando. Ora possiamo visualizzare tutti gli elementi nell'elenco utilizzando il comando lrange .

127.0.0.1:6379> lrange colors 0 -1

Ci sono due numeri interi alla fine del comando, il primo che definisce la posizione all'interno dell'elenco da cui iniziare, e il secondo è il numero di elementi da restituire con -1 che significa tutti gli elementi. Il risultato del comando precedente sarà, blu, rosso, giallo, verde .

Puoi anche rimuovere elementi da entrambe le estremità di un elenco usando i comandi lpop e rpop .

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

Puoi anche ottenere il numero di elementi in una lista con il comando llen .

127.0.0.1:6379> llen colors (integer) 2

Infine, puoi rimuovere un elemento da un elenco tramite il comando lrem .

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

Il comando lrem inizia con il nome dell'elenco, seguito dal numero di occorrenze da rimuovere e dal nome dell'elemento da rimuovere. Restituirà il numero di occorrenze trovate e rimosse dall'elenco.

Comandi hash

Uno dei tipi di dati più diffusi in Redis sono gli hash, che consentono di archiviare più coppie chiave-valore all'interno di una singola voce. La chiave non deve già esistere e puoi definire le coppie chiave-valore in qualsiasi momento con il comando hset .

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

Puoi anche definire più coppie chiave-valore di un hash all'interno di un singolo comando utilizzando il comando hmset .

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

L'hash identificato dall'utente chiave :581 ora ha un totale di quattro coppie chiave-valore, che possono essere facilmente recuperate con il 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"

Puoi anche ottenere il valore di una singola coppia chiave-valore all'interno di un hash utilizzando il comando get .

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

Per qualsiasi numero intero all'interno dell'hash, puoi incrementarli di una quantità specificata con il comando code hincrby .

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

Il valore della chiave punti all'interno dell'hash è stato ora incrementato da 20 a 520. Una singola coppia chiave-valore all'interno di un hash può essere eliminata con il comando hdel .

127.0.0.1:6379> hdel user:581 gender

In alternativa, puoi anche eliminare completamente un hash che include tutte le coppie chiave-valore utilizzando il comando del .

127.0.0.1:6379> del user:581

Chiavi Redis in scadenza

Un'altra eccellente caratteristica di Redis è la possibilità di far scadere automaticamente le chiavi dopo un numero definito di secondi utilizzando il comando scade . Tieni presente che puoi far scadere solo chiavi complete e non singoli elementi all'interno di un elenco o di un hash. Per esempio:

127.0.0.1:6379> expire full_name 10

Questo imposterà un tempo di scadenza di 10 secondi sulla chiave full_name che hai creato nella sezione delle stringhe. Dopo aver eseguito il comando precedente, attendi 10 secondi, quindi prova a recuperare nuovamente il valore della chiave.

127.0.0.1:6379> get full_name (nil)

Come previsto, la chiave è scaduta, quindi otteniamo null come risultato.

Connettiti a Redis con PHP

Ora che hai imparato le basi su come archiviare e recuperare i dati con Redis, è il momento di collegarli al tuo software. Tutti i linguaggi di programmazione hanno moduli/estensioni per Redis, ma per questo esempio utilizzeremo PHP.

Devi prima installare l'estensione PHP-Redis poiché non è installata per impostazione predefinita. All'interno del terminale, esegui il comando.

sudo apt-get install php-redis

Una volta installato, assicurati di riavviare PHP-fpm in modo che l'estensione sia caricata correttamente. Ecco del codice PHP che si connette e si interfaccia con 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);

Il codice di esempio sopra dovrebbe essere abbastanza semplice. Si connette prima a Redis con un timeout di 5 secondi, quindi procede a impostare e ottenere una stringa e un hash. Tutti i comandi Redis possono essere eseguiti tramite OOP chiamandoli direttamente dall'oggetto Redis come nell'esempio sopra.

Sei sulla buona strada!

Congratulazioni, hai imparato le basi su come archiviare e recuperare i dati a una velocità incredibile tramite il motore di archiviazione Redis, incluso come connetterti e interfacciarti con Redis utilizzando PHP.

Tieni presente che questo articolo copre solo le nozioni di base e la pagina Tipi di dati di Redis della documentazione è un ottimo posto per continuare a esplorare Redis e tutte le sue funzionalità.


Come copiare e incollare su Chromebook

Come copiare e incollare su Chromebook

La prima cosa che potresti chiederti mentre passi a un Chromebook è come fare le cose di base, il tipo di cose che avevi sul palmo della tua mano nel tuo sistema operativo precedente. Copiare e incollare è una di queste funzioni fondamentali che devi usare prima o poi.

Come fare un test di digitazione su Linux con tt

Come fare un test di digitazione su Linux con tt

Nell'era moderna della tecnologia, la dattilografia è diventata una delle attività più comuni per molte professioni. Imparare a digitare più velocemente con precisione può aiutarti a fare più cose nello stesso lasso di tempo.

Il Wi-Fi non funziona su Ubuntu? Ecco come risolverlo

Il Wi-Fi non funziona su Ubuntu? Ecco come risolverlo

Ubuntu è famoso per la sua robustezza e relativamente meno errori. Ma non è senza problemi, di sicuro. Uno di questi problemi è con il suo driver Wi-Fi. Potresti accendere il tuo sistema solo per scoprire che il tuo Wi-Fi non funziona.

Come creare e scansionare codici QR su Chromebook

Come creare e scansionare codici QR su Chromebook

I codici di risposta rapida, o codici QR in breve, sono codici a barre avanzati che contengono più informazioni rispetto a un codice a barre tradizionale. Questi codici sono bidimensionali, consentendoti di scansionarli verticalmente o orizzontalmente.

Come installare e rimuovere i pacchetti in Arch Linux

Come installare e rimuovere i pacchetti in Arch Linux

Vuoi installare pacchetti su Arch Linux ma non sai come fare? Molte persone affrontano questo problema quando migrano per la prima volta dalle distribuzioni basate su Debian ad Arch. Tuttavia, puoi facilmente gestire i pacchetti sul tuo sistema basato su Arch utilizzando i gestori di pacchetti.

Come installare Spotify su Linux

Come installare Spotify su Linux

Spotify è uno dei più grandi servizi di streaming musicale in circolazione. Ha client nativi sia per dispositivi mobili (Android e iOS) che desktop (Mac e Windows).

9 comandi di base per iniziare con Linux

9 comandi di base per iniziare con Linux

Le guide pratiche di Linux spesso si aspettano che tu esegua determinate operazioni nel terminale, il che all'inizio può sembrare intimidatorio. Ma non preoccuparti; questo cheat sheet del comando Linux coprirà il processo di apertura di un terminale e l'emissione di alcuni comandi utili.

Come spostare file Linux con il comando Mv

Come spostare file Linux con il comando Mv

Anche se probabilmente sai già come spostare un file in Linux utilizzando il browser di file della GUI, potresti chiederti se c'è un comando di spostamento nel terminale che ti consente di spostare rapidamente i file in directory diverse. Il comando mv è quello che desideri ed è facile da usare con la sua sintassi semplice e alcuni flag di sicurezza opzionali.

Le 10 migliori distribuzioni Linux basate su Debian

Le 10 migliori distribuzioni Linux basate su Debian

Lo standard Debian e la sua popolare derivazione Ubuntu sono ottime scelte a tutto tondo per un sistema Linux, ma se hai esigenze più specializzate, potresti volere un'alternativa Debian.

Come trovare e rimuovere file duplicati su Linux usando fdupes

Come trovare e rimuovere file duplicati su Linux usando fdupes

Quando si lavora con grandi quantità di supporti e documenti, è abbastanza comune accumulare più copie dello stesso file sul computer. Inevitabilmente, ciò che segue è uno spazio di archiviazione disordinato pieno di file ridondanti, che provoca controlli periodici per file duplicati sul tuo sistema.

Qual è la migliore distribuzione Linux per laptop?

Qual è la migliore distribuzione Linux per laptop?

Una delle cose migliori di Linux è che c'è una distribuzione per tutti, indipendentemente dal tipo di hardware che stai utilizzando. Puoi prendere un vecchio laptop logoro dalla tua soffitta, rispolverarlo, installare Linux e sei a posto.

Prendere appunti sui Chromebook è diventato più facile con il corsivo

Prendere appunti sui Chromebook è diventato più facile con il corsivo

Cursive è un'app Web progressiva (PWA) introdotta da Google con il rilascio di HP Chromebook x2 11. Puoi utilizzare questa app per prendere appunti scritti a mano sul tuo Chromebook dotato di stilo.

Come usare Vim: una guida alle nozioni di base

Come usare Vim: una guida alle nozioni di base

Vim è l'editor di codice più potente e versatile disponibile per sistemi simili a Unix. È un'estensione dell'editor Vi sviluppato da Bill Joy. Vim è disponibile per impostazione predefinita sulla maggior parte dei sistemi Linux e BSD.

10 migliori distribuzioni Linux per sviluppatori

10 migliori distribuzioni Linux per sviluppatori

Anche se Linux potrebbe non essere il sistema operativo preferito dagli utenti occasionali, è la scelta giusta per la maggior parte degli sviluppatori e dei programmatori. Linux è un sistema operativo più pratico che è stato esplicitamente progettato pensando alla programmazione e agli sviluppatori.

Come crittografare e decrittografare facilmente file e directory in Linux

Come crittografare e decrittografare facilmente file e directory in Linux

Hai mai desiderato crittografare rapidamente e facilmente i file in Linux senza dover installare e apprendere nuovi pacchetti software? Ecco un modo eccellente e semplice per crittografare facilmente file o directory tramite AES256 protetto con una password, aiutando a mantenere i tuoi file lontani da occhi indiscreti.

Come aggiornare Firefox da Terminale su PC Ubuntu Linux

Come aggiornare Firefox da Terminale su PC Ubuntu Linux

Scopri come aggiornare Firefox da Terminale su un PC Ubuntu Linux

Come aggiungere un utente Sudo in Ubuntu

Come aggiungere un utente Sudo in Ubuntu

sudo è uno dei comandi più comunemente usati nei sistemi Linux. Consente a un utente di eseguire un particolare

Distro Linux stabili e Bleeding-Edge: quale scegliere?

Distro Linux stabili e Bleeding-Edge: quale scegliere?

Una delle scelte principali che molti utenti Linux devono affrontare quando scelgono una distribuzione Linux è la sua stabilità, ovvero quanto cambia il software.

Il 2020 è lanno della pandemia di malware Linux?

Il 2020 è lanno della pandemia di malware Linux?

La sua reputazione di sicurezza significa che Linux è spesso considerato meno vulnerabile ai tipi di minacce che affliggono regolarmente i sistemi Microsoft Windows. Gran parte di quella sicurezza percepita deriva dal numero relativamente basso di sistemi Linux, ma i criminali informatici stanno iniziando a vedere un valore nella scelta della qualità rispetto alla quantità?

Come convertire tra pacchetti Linux utilizzando Alien

Come convertire tra pacchetti Linux utilizzando Alien

Vuoi convertire un pacchetto Linux in un altro formato? Forse il pacchetto che stai cercando non è disponibile per la tua distribuzione, ma lo vuoi comunque, non importa quale. O forse sei uno sviluppatore e vuoi risparmiare tempo riconfezionando rapidamente il tuo programma in altri formati senza dover creare nuovamente il pacchetto.

Come copiare e incollare su Chromebook

Come copiare e incollare su Chromebook

La prima cosa che potresti chiederti mentre passi a un Chromebook è come fare le cose di base, il tipo di cose che avevi sul palmo della tua mano nel tuo sistema operativo precedente. Copiare e incollare è una di queste funzioni fondamentali che devi usare prima o poi.

Come fare un test di digitazione su Linux con tt

Come fare un test di digitazione su Linux con tt

Nell'era moderna della tecnologia, la dattilografia è diventata una delle attività più comuni per molte professioni. Imparare a digitare più velocemente con precisione può aiutarti a fare più cose nello stesso lasso di tempo.

Il Wi-Fi non funziona su Ubuntu? Ecco come risolverlo

Il Wi-Fi non funziona su Ubuntu? Ecco come risolverlo

Ubuntu è famoso per la sua robustezza e relativamente meno errori. Ma non è senza problemi, di sicuro. Uno di questi problemi è con il suo driver Wi-Fi. Potresti accendere il tuo sistema solo per scoprire che il tuo Wi-Fi non funziona.

Come creare e scansionare codici QR su Chromebook

Come creare e scansionare codici QR su Chromebook

I codici di risposta rapida, o codici QR in breve, sono codici a barre avanzati che contengono più informazioni rispetto a un codice a barre tradizionale. Questi codici sono bidimensionali, consentendoti di scansionarli verticalmente o orizzontalmente.

Come installare e rimuovere i pacchetti in Arch Linux

Come installare e rimuovere i pacchetti in Arch Linux

Vuoi installare pacchetti su Arch Linux ma non sai come fare? Molte persone affrontano questo problema quando migrano per la prima volta dalle distribuzioni basate su Debian ad Arch. Tuttavia, puoi facilmente gestire i pacchetti sul tuo sistema basato su Arch utilizzando i gestori di pacchetti.

10+ migliori estensioni GNOME per Ubuntu 20.04

10+ migliori estensioni GNOME per Ubuntu 20.04

Molte delle estensioni popolari come Gno-Menu, Extended Gestures non funzionano con Ubuntu 20.04. Quindi, ecco un elenco delle migliori estensioni GNOME funzionanti

Come installare Spotify su Linux

Come installare Spotify su Linux

Spotify è uno dei più grandi servizi di streaming musicale in circolazione. Ha client nativi sia per dispositivi mobili (Android e iOS) che desktop (Mac e Windows).

9 comandi di base per iniziare con Linux

9 comandi di base per iniziare con Linux

Le guide pratiche di Linux spesso si aspettano che tu esegua determinate operazioni nel terminale, il che all'inizio può sembrare intimidatorio. Ma non preoccuparti; questo cheat sheet del comando Linux coprirà il processo di apertura di un terminale e l'emissione di alcuni comandi utili.

5 migliori app di trasferimento file Wi-Fi da Ubuntu ad Android

5 migliori app di trasferimento file Wi-Fi da Ubuntu ad Android

Un meccanismo come FTP, trasferimento file peer-to-peer, trasferimento Wi-Fi ti farà risparmiare tempo se condividi spesso file tra il tuo Android e Ubuntu.

Come spostare file Linux con il comando Mv

Come spostare file Linux con il comando Mv

Anche se probabilmente sai già come spostare un file in Linux utilizzando il browser di file della GUI, potresti chiederti se c'è un comando di spostamento nel terminale che ti consente di spostare rapidamente i file in directory diverse. Il comando mv è quello che desideri ed è facile da usare con la sua sintassi semplice e alcuni flag di sicurezza opzionali.