Bli kjent med Redis og lær hvordan du optimaliserer Node-appene dine med dette kraftige datalageret.
Når du bygger en nettapp, bør du sørge for at den er skalerbar og effektiv. For å gjøre det, må du ta hensyn til flere prinsipper og konsepter.
Redis er en av de mange teknologiene som kan bidra til å forbedre ytelsen til nettapplikasjonene dine. Den tilbyr bemerkelsesverdige funksjoner som du kan bruke til å forbedre ytelsen til enhver nettapp.
Så, hva er egentlig Redis, og hvordan kan du begynne å bruke det med dine Node.js-nettapplikasjoner?
Hva er Redis, og når bør du bruke det?
Redis er en åpen kildekode, i minnet, nøkkelverdi-datalager. Det er en fleksibel teknologi som kan fungere som en arbeidskø, database, cache, øktbehandling, meldingsmegler og mer.
Kombinasjonen av Redis sin hastighet, allsidighet og brukervennlighet gjør det til et svært verdifullt verktøy i programvareutviklernes økosystem.
Når bør du bruke Redis?
Redis er godt egnet for mange oppgaver, men du bør være forsiktig med å bruke den bare når det er fornuftig å gjøre det.
Du bør vurdere å bruke Redis i disse scenariene:
- Buffer: Redis er den mest populære måten å implementere en cache på for å forhindre belastning på databaser og forbedre den generelle ytelsen.
- Sesjonsledelse: Lagring og administrasjon av brukerøkter for autentisering og tilstandsadministrasjon er veldig enkelt med Redis.
- Midlertidig datalagring: Redis lar deg lagre data og slette dem automatisk etter en bestemt tidsperiode. Dette gjør det til et godt verktøy for lagring av midlertidige data som f.eks JSON web-tokens, jobbkøer, etc.
Andre tilfeller du bør vurdere å bruke Redis til inkluderer implementering av en meldingsmegler, optimalisering databaseoperasjoner, og til og med effektiv lagring og tilgang til datastrukturer som lister, sett og hasjer.
Slik bruker du Redis med Node.js
Node.js er en populær teknologi for å bygge effektive og skalerbare apper på serversiden. Du kan bruke den sammen med støtteteknologier som Redis for å oppnå høy ytelse og skalerbarhet.
Redis støtter flere språk. Du kan bruke den for datalagring i PHP og det er utmerkede Redis-klienter for Golang. De to mest populære Redis-klientene for Node.js er node-redis og ioredis.
Begge pakkene er tilgjengelige via npm og er enkle å bruke. Hovedforskjellen er at node-redis er offisiell klient, mens samfunnet anbefaler ioredis.
Koble til Redis fra Node.js
For å komme i gang må du ha Redis installert på datamaskinen, og et Node.js utviklingsmiljø satt opp. Sjekk ut installasjonsveiledningen på Redis.io for å installere Redis på Linux, macOS og Windows.
Du må installere din foretrukne Redis-klient-SDK i prosjektet ditt for å kunne koble til Redis. Avhengig av dine preferanser (vi bruker node-redis), kjør en av kommandoene nedenfor for å installere Redis-klienten:
npm installer redis --save
npm installer ioredis --save
Den første kommandoen installeres node-redis, mens den andre installeres ioredis.
For å konfigurere den nylig installerte klienten, må du sørge for at Redis kjører. Du kan gjøre dette ved å starte redis-cli i terminalen din:
De ping kommandoen pinger serveren for å bekrefte at den kjører, og en PONG svar i CLI betyr at serveren fungerer bra. Lag nå en redis.js fil i Node-prosjektet ditt og skriv følgende kode i den for å konfigurere Redis:
konst redis = krever("redis")
// initialiser ved å bruke standard konfigurasjon
konst RedisClient = redis.createClient()konst connectRedis = asynkron () => {
// koble til redis
avvente RedisClient.connect()// håndtere feil
RedisClient.on('feil', (feil) => {
konsoll.feil(`Det oppsto en feil med Redis: ${err}`)
})
konsoll.Logg('Gjenopprett tilkoblet...')
}
Koden ovenfor initialiserer en ny Redis-klient i applikasjonen. De opprette klient funksjonen til redis-pakken lar deg opprette en klient ved å bruke dine spesifiserte parametere.
Du kan spesifisere vert, port, brukernavn, passord eller tilkoblingsstreng, eller bruke standardverdiene. For eksempel, node-redis vil begynne å kjøre på localhost, på port 6379, som standard.
Her er et par måter du kan bruke opprette klient funksjon:
// ved å bruke tilkoblingsstreng
konst RedisClient = redis.createClient("rediss://127.0.0.1:6379")
// ved å bruke parameterobjekt
konst RedisClient = redis.createClient({
stikkontakt: {
vert: "127.0.0.1",
havn: "6379"
},
brukernavn: "ditt redis brukernavn",
passord: "ditt passord"
})
Bruk sikre Redis-forekomster i produksjonen. Når dette er tilfelle, har du enten en sikker URL streng for tilkobling eller bruk parameterne vist ovenfor. Uansett hva som er tilfelle, husk alltid å holde legitimasjon utenfor koden, og bruk miljøvariabler i stedet.
Utføre grunnleggende Redis-operasjoner i Node.js
Følgende kode kobles til Redis ved å bruke koble Redis funksjonen ovenfor og viser noen grunnleggende operasjoner du kan utføre i Redis fra Node-applikasjonene dine.
konst testRedis = asynkron () => {
avvente connectRedis()// Sett og hent en verdi
avvente RedisClient.set("Navn", "Timmy")
konst getCommand = avvente RedisClient.get("Navn")
konsoll.log (getCommand)// Slett verdier umiddelbart eller planlegg at de utløper
// på et antall sekunder
avvente RedisClient.del("Navn");
avvente RedisClient.setEx("plassering", 60, "Lagos")// Skyv på forsiden eller baksiden av en liste
avvente RedisClient.lPush("dager", "mandag")
avvente RedisClient.rPush("dager", "tirsdag")
avvente RedisClient.lPush("dager", "onsdag")
konst daysArray = avvente RedisClient.lRange("dager", 0, -1)
// skriver ut [ 'onsdag', 'mandag', 'tirsdag' ]
konsoll.log (daysArray)// Fjern et element fra baksiden eller forsiden av en liste
avvente RedisClient.rPop("dager")
avvente RedisClient.lPop("dager")
konst newDaysArray = avvente RedisClient.lRange("dager", 0, -1)
// skriver ut [ 'mandag' ]
konsoll.log (newDaysArray)
}
testRedis()
Legg merke til bruken av asynkron og avvente her. Dette er fordi alle funksjonene kjører asynkront og gir løfter, så hvis du trenger resultatene umiddelbart, er det viktig å avvente dem.
Koden ovenfor viser bare noen grunnleggende operasjoner du kan utføre i Redis fra en Node.js-applikasjon. Det er mange flere kommandoer og konsepter som er verdt å se på.
De Redis-kommandoer delen i README som finnes på node-redisGitHub repository er et bra sted å finne alle de andre kommandoene og hva de gjør.
Bruk Redis til å bygge effektive applikasjoner
Ved å utnytte kraften til Redis kan du som utvikler bygge svært effektive applikasjoner på serversiden. Med Redis sin datalagring i minnet og omfattende datastrukturer og kommandoer, kan applikasjoner oppnå bemerkelsesverdige ytelsesoptimaliseringer.
Du bør absolutt vurdere å integrere Redis i din neste Node.js-applikasjon for å øke ytelsen til appen din og levere en bedre brukeropplevelse.