Prendi confidenza con Redis e scopri come ottimizzare le tue app Node con questo potente archivio dati.
Quando crei un'app Web, devi assicurarti che sia scalabile ed efficiente. Per fare ciò, dovrai prendere in considerazione diversi principi e concetti.
Redis è una delle tante tecnologie che possono aiutarti a migliorare le prestazioni delle tue applicazioni web. Offre funzionalità straordinarie che puoi utilizzare per migliorare le prestazioni di qualsiasi app Web.
Quindi, cos'è esattamente Redis e come puoi iniziare a usarlo con le tue applicazioni web Node.js?
Cos'è Redis e quando dovresti usarlo?
Redis è un archivio dati open source, in memoria e valore-chiave. È una tecnologia flessibile che può fungere da coda di lavoro, database, cache, gestore di sessioni, broker di messaggi e altro ancora.
La combinazione di velocità, versatilità e facilità d'uso di Redis lo rende uno strumento molto prezioso nell'ecosistema degli sviluppatori di software.
Quando dovresti usare Redis?
Redis è adatto a molte attività, ma dovresti fare attenzione a usarlo solo quando ha senso farlo.
Dovresti prendere in considerazione l'utilizzo di Redis in questi scenari:
- Cache: Redis è il modo più popolare di implementare una cache per aiutare a prevenire il carico sui database e migliorare le prestazioni complessive.
- Gestione delle sessioni: archiviare e gestire le sessioni utente per l'autenticazione e la gestione dello stato è molto semplice con Redis.
- Conservazione temporanea dei dati: Redis ti consente di archiviare i dati e di eliminarli automaticamente dopo un determinato periodo di tempo. Questo lo rende un ottimo strumento per archiviare dati temporanei come Token Web JSON, code di lavoro, eccetera.
Altri casi in cui dovresti prendere in considerazione l'utilizzo di Redis includono l'implementazione di un broker di messaggi, l'ottimizzazione operazioni di database e persino l'archiviazione e l'accesso in modo efficiente a strutture di dati come elenchi, insiemi e hash.
Come utilizzare Redis con Node.js
Node.js è una tecnologia popolare per la creazione di app lato server efficienti e scalabili. Puoi usarlo insieme a tecnologie di supporto come Redis per ottenere alte prestazioni e scalabilità.
Redis supporta diverse lingue. Puoi usarlo per l'archiviazione dei dati in PHP E ci sono ottimi clienti Redis per Golang. I due client Redis più popolari per Node.js sono nodo-redis E ioredis.
Entrambi i pacchetti sono disponibili tramite npm e sono facili da usare. La differenza principale è quella nodo-redis è il client ufficiale, mentre la community consiglia ioredis.
Connessione a Redis da Node.js
Per iniziare, devi avere Redis installato sul tuo computer e un ambiente di sviluppo Node.js configurato. Consulta la guida all'installazione su Redis.io per installare Redis su Linux, macOS e Windows.
Devi installare il tuo SDK client Redis preferito nel tuo progetto per poterti connettere a Redis. A seconda delle tue preferenze (useremo nodo-redis), eseguire uno dei comandi seguenti per installare il client Redis:
npm install redis --save
npm installa ioredis --save
Il primo comando si installa nodo-redis, mentre il secondo si installa ioredis.
Per configurare il client appena installato, devi assicurarti che Redis sia in esecuzione. Puoi farlo semplicemente iniziando redis-cli nel tuo terminale:
IL ping il comando esegue il ping del server per confermare che è in esecuzione e a PONG risposta nella CLI significa che il server funziona correttamente. Ora crea un redis.js file nel tuo progetto Node e scrivi il seguente codice per configurare Redis:
cost redis = richiedere("redis")
// inizializza utilizzando la configurazione predefinita
cost RedisClient = redis.createClient()cost connectRedis = asincrono () => {
// connettersi a redis
aspetta RedisClient.connect()// gestisce l'errore
RedisClient.on('errore', (err) => {
consolare.errore(`Si è verificato un errore con Redis: ${err}`)
})
consolare.tronco d'albero('Redis connesso correttamente...')
}
Il codice precedente inizializza un nuovo client Redis nell'applicazione. IL creareClient La funzione del pacchetto redis consente di creare un client utilizzando i parametri specificati.
È possibile specificare l'host, la porta, il nome utente, la password o la stringa di connessione oppure utilizzare i valori predefiniti. Per esempio, nodo-redis inizierà a funzionare su localhost, sulla porta 6379, per impostazione predefinita.
Ecco un paio di modi in cui puoi usare il creareClient funzione:
// utilizzando la stringa di connessione
cost RedisClient = redis.createClient("rediss://127.0.0.1:6379")
// utilizzando l'oggetto parametro
cost RedisClient = redis.createClient({
PRESA: {
ospite: "127.0.0.1",
porta: "6379"
},
nome utente: "il tuo nome utente redis",
parola d'ordine: "la tua password"
})
Usa istanze Redis sicure in produzione. Quando questo è il caso, o hai un secure URL stringa per la connessione o utilizzare i parametri mostrati sopra. Qualunque sia il caso, ricorda sempre di tenere le credenziali fuori dal codice e usa invece le variabili di ambiente.
Esecuzione di operazioni Redis di base in Node.js
Il codice seguente si connette a Redis utilizzando il connectRedis sopra e mostra alcune operazioni di base che puoi eseguire in Redis dalle tue applicazioni Node.
cost testRedis = asincrono () => {
aspetta connettiRedis()// Imposta e recupera un valore
aspetta RedisClient.set("nome", "Timmy")
cost getComando = aspetta RedisClient.get("nome")
consolare.log (getComando)// Elimina immediatamente i valori o pianificane la scadenza
// in un numero di secondi
aspetta RedisClient.del("nome");
aspetta RedisClient.setEx("posizione", 60, "Lago")// Spingi all'inizio o alla fine di un elenco
aspetta RedisClient.lPush("giorni", "Lunedi")
aspetta RedisClient.rPush("giorni", "Martedì")
aspetta RedisClient.lPush("giorni", "Mercoledì")
cost giorniArray = aspetta RedisClient.lRange("giorni", 0, -1)
// stampa [ 'mercoledì', 'lunedì', 'martedì' ]
consolare.log (giorniArray)// Rimuove un elemento dalla parte posteriore o anteriore di un elenco
aspetta RedisClient.rPop("giorni")
aspetta RedisClient.lPop("giorni")
cost newDaysArray = aspetta RedisClient.lRange("giorni", 0, -1)
// stampa [ 'lunedì' ]
consolare.log (newDaysArray)
}
testRedis()
Notare l'uso di asincrono E aspetta Qui. Questo perché tutte le funzioni vengono eseguite in modo asincrono e restituiscono promesse, quindi se hai bisogno dei loro risultati immediatamente, è importante aspetta loro.
Il codice precedente mostra solo alcune operazioni di base che puoi eseguire in Redis da un'applicazione Node.js. Ci sono molti altri comandi e concetti che vale la pena esaminare.
IL Comandi Redis sezione nel README che si trova su node-redisGit Hub repository è un buon posto per trovare tutti gli altri comandi e cosa fanno.
Usa Redis per creare applicazioni efficienti
Sfruttare la potenza di Redis ti consente, come sviluppatore, di creare applicazioni lato server altamente efficienti. Con l'archiviazione dei dati in memoria di Redis e le ampie strutture di dati e comandi, le applicazioni possono ottenere notevoli ottimizzazioni delle prestazioni.
Dovresti assolutamente prendere in considerazione l'integrazione di Redis nella tua prossima applicazione Node.js per potenziare le prestazioni della tua app e offrire una migliore esperienza utente.