Uhvatite se u koštac s Redisom i naučite kako optimizirati svoje Node aplikacije pomoću ove moćne pohrane podataka.

Kada gradite web aplikaciju, trebali biste se pobrinuti da bude skalabilna i učinkovita. Da biste to učinili, morat ćete uzeti u obzir nekoliko načela i koncepata.

Redis je jedna od mnogih tehnologija koje mogu poboljšati izvedbu vaših web aplikacija. Nudi izvanredne značajke koje možete koristiti za poboljšanje performansi bilo koje web aplikacije.

Dakle, što je točno Redis i kako ga možete početi koristiti sa svojim Node.js web aplikacijama?

Što je Redis i kada ga trebate koristiti?

Redis je open-source, in-memory, key-value pohrana podataka. To je fleksibilna tehnologija koja može djelovati kao radni red, baza podataka, predmemorija, upravitelj sesije, posrednik poruka i više.

Kombinacija Redisove brzine, svestranosti i jednostavnosti korištenja čini ga vrlo vrijednim alatom u ekosustavu programera softvera.

Kada biste trebali koristiti Redis?

Redis je prikladan za mnoge zadatke, ali trebali biste ga koristiti samo kada to ima smisla.

instagram viewer

Trebali biste razmotriti korištenje Redisa u ovim scenarijima:

  • Predmemoriranje: Redis je najpopularniji način implementacije predmemorije kako bi se spriječilo opterećenje baza podataka i poboljšala ukupna izvedba.
  • Upravljanje sesijom: Pohranjivanje i upravljanje korisničkim sesijama za provjeru autentičnosti i upravljanje stanjem vrlo je jednostavno uz Redis.
  • Privremena pohrana podataka: Redis vam omogućuje pohranu podataka i njihovo automatsko brisanje nakon određenog vremenskog razdoblja. To ga čini dobrim alatom za pohranu privremenih podataka kao što su JSON web tokeni, redovi poslovaitd.

Ostali slučajevi za koje biste trebali razmisliti o korištenju Redisa uključuju implementaciju brokera poruka, optimizaciju operacije baze podataka, pa čak i učinkovito pohranjivanje i pristup strukturama podataka poput popisa, skupova i hashovi.

Kako koristiti Redis s Node.js

Node.js je popularna tehnologija za izgradnju učinkovitih i skalabilnih aplikacija na strani poslužitelja. Možete ga koristiti u kombinaciji s pratećim tehnologijama kao što je Redis za postizanje visokih performansi i skalabilnosti.

Redis podržava nekoliko jezika. Možete ga koristiti za pohranu podataka u PHP-u i postoje izvrsni Redis klijenti za Golang. Dva najpopularnija Redis klijenta za Node.js su čvor-redis i ioredis.

Oba paketa su dostupna putem npm i jednostavni su za korištenje. Glavna razlika je u tome čvor-redis je službeni klijent, dok zajednica preporučuje ioredis.

Povezivanje na Redis iz Node.js

Da biste započeli, morate imati instaliran Redis na računalu i postavljeno razvojno okruženje Node.js. Provjerite vodič za instalaciju na Redis.io za instaliranje Redisa na Linux, macOS i Windows.

Morate instalirati željeni Redis klijent SDK u svoj projekt da biste se mogli povezati s Redisom. Ovisno o vašim željama (koristit ćemo čvor-redis), pokrenite jednu od naredbi u nastavku da biste instalirali Redis klijent:

npm instaliraj redis --save
npm instaliraj ioredis --spremi

Prva naredba instalira čvor-redis, dok drugi instalira ioredis.

Da biste konfigurirali svoj novoinstalirani klijent, morate osigurati da Redis radi. To možete učiniti jednostavnim pokretanjem redis-cli u vašem terminalu:

The ping naredba pinga poslužitelj kako bi potvrdila da radi, i a PONG odgovor u CLI znači da poslužitelj dobro radi. Sada stvorite a redis.js datoteku u vašem Node projektu i u nju napišite sljedeći kod za konfiguraciju Redisa:

konst redis = zahtijevati("redis")

// inicijalizirati korištenjem zadane konfiguracije
konst RedisClient = redis.createClient()

konst spojiRedis = asinkroni () => {
// povezivanje na redis
čekati RedisClient.connect()

// rukovanje pogreškom
RedisClient.on('greška', (greška) => {
konzola.greška(`Došlo je do pogreške s Redisom: ${greška}`)
})

konzola.log('Redis se uspješno povezao...')
}

Gornji kod inicijalizira novi Redis klijent u aplikaciji. The stvoritiKlijenta funkcija redis paketa omogućuje vam stvaranje klijenta koristeći vaše navedene parametre.

Možete navesti svoj host, port, korisničko ime, lozinku ili niz veze ili koristiti zadane vrijednosti. Na primjer, čvor-redis počet će raditi na lokalnom hostu, na portu 6379, prema zadanim postavkama.

Evo nekoliko načina na koje možete koristiti stvoritiKlijenta funkcija:

// pomoću niza veze
konst RedisClient = redis.createClient("rediss://127.0.0.1:6379")

// pomoću objekta parametra
konst RedisClient = redis.createClient({
utičnica: {
domaćin: "127.0.0.1",
luka: "6379"
},
Korisničko ime: "vaše redis korisničko ime",
lozinka: "tvoja lozinka"
})

Koristite sigurne Redis instance u proizvodnji. Kada je to slučaj, ili imate siguran URL string za povezivanje ili koristite gore prikazane parametre. Što god da je slučaj, uvijek ne zaboravite držati vjerodajnice izvan koda i umjesto toga koristiti varijable okruženja.

Izvođenje osnovnih Redis operacija u Node.js

Sljedeći kod povezuje se s Redisom pomoću spojiRedis funkcija iznad i demonstrira neke osnovne operacije koje možete izvesti u Redisu iz svojih Node aplikacija.

konst testRedis = asinkroni () => {
čekati povezivanjeRedis()

// Postavi i dohvati vrijednost
čekati RedisClient.set("Ime", "Timmy")
konst getCommand = čekati RedisClient.get("Ime")
konzola.log (getCommand)

// Odmah izbrišite vrijednosti ili zakažite da isteknu
// u nekoliko sekundi
čekati RedisClient.del("Ime");
čekati RedisClient.setEx("mjesto", 60, "Lagos")

// Gurnite na prednju ili stražnju stranu popisa
čekati RedisClient.lPush("dani", "ponedjeljak")
čekati RedisClient.rPush("dani", "utorak")
čekati RedisClient.lPush("dani", "srijeda")
konst niz dana = čekati RedisClient.lRange("dani", 0, -1)
// ispisuje [ 'srijeda', 'ponedjeljak', 'utorak' ]
konzola.log (niz dana)

// Uklanjanje stavke sa stražnje ili prednje strane popisa
čekati RedisClient.rPop("dani")
čekati RedisClient.lPop("dani")
konst novi niz dana = čekati RedisClient.lRange("dani", 0, -1)
// ispisuje [ 'ponedjeljak' ]
konzola.log (newDaysArray)
}

testRedis()

Uočite upotrebu asinkroni i čekati ovdje. To je zato što se sve funkcije izvode asinkrono i vraćaju obećanja, pa ako trebate njihove rezultate odmah, važno je čekati ih.

Gornji kod prikazuje samo neke osnovne operacije koje možete izvesti u Redisu iz Node.js aplikacije. Postoji mnogo više naredbi i koncepata koje vrijedi pogledati.

The Redis naredbe odjeljku u README-u koji se nalazi na čvorovi-redisoviGitHub repozitorij je dobro mjesto za pronalaženje svih ostalih naredbi i onoga što rade.

Koristite Redis za izradu učinkovitih aplikacija

Iskorištavanje snage Redisa omogućuje vam, kao programeru, da izgradite visoko učinkovite aplikacije na strani poslužitelja. S Redisovom pohranom podataka u memoriji i opsežnim podatkovnim strukturama i naredbama, aplikacije mogu postići izvanredne optimizacije performansi.

Svakako biste trebali razmisliti o integraciji Redisa u svoju sljedeću Node.js aplikaciju kako biste povećali performanse svoje aplikacije i pružili bolje korisničko iskustvo.