Ta reda på Redis och lär dig hur du optimerar dina Node-appar med denna kraftfulla databutik.
När du bygger en webbapp bör du se till att den är skalbar och effektiv. För att göra det måste du ta hänsyn till flera principer och koncept.
Redis är en av många tekniker som kan hjälpa till att förbättra dina webbapplikationers prestanda. Den erbjuder anmärkningsvärda funktioner som du kan använda för att förbättra prestandan för alla webbappar.
Så, vad är Redis exakt, och hur kan du börja använda det med dina Node.js-webbapplikationer?
Vad är Redis, och när ska du använda det?
Redis är en öppen källkod, i minnet, nyckel-värde datalager. Det är en flexibel teknik som kan fungera som arbetskö, databas, cache, sessionshanterare, meddelandeförmedlare och mer.
Kombinationen av Redis snabbhet, mångsidighet och användarvänlighet gör det till ett mycket värdefullt verktyg i mjukvaruutvecklarens ekosystem.
När ska du använda Redis?
Redis är väl lämpad för många uppgifter, men du bör vara noga med att använda den endast när det är vettigt att göra det.
Du bör överväga att använda Redis i dessa scenarier:
- Cachning: Redis är det mest populära sättet att implementera en cache för att förhindra belastning på databaser och förbättra den övergripande prestandan.
- Sessionshantering: Att lagra och hantera användarsessioner för autentisering och tillståndshantering är mycket enkelt med Redis.
- Tillfällig datalagring: Redis låter dig lagra data och radera dem automatiskt efter en viss tidsperiod. Detta gör det till ett bra verktyg för att lagra temporär data som t.ex JSON webbtokens, jobbköer, etc.
Andra fall du bör överväga att använda Redis för inkluderar implementering av en meddelandeförmedlare, optimering databasoperationer, och till och med effektivt lagra och komma åt datastrukturer som listor, uppsättningar och hash.
Hur man använder Redis med Node.js
Node.js är en populär teknik för att bygga effektiva och skalbara appar på serversidan. Du kan använda den i kombination med stödjande tekniker som Redis för att få hög prestanda och skalbarhet.
Redis stöder flera språk. Du kan använda det för datalagring i PHP och det finns utmärkta Redis-klienter för Golang. De två mest populära Redis-klienterna för Node.js är nod-redis och ioredis.
Båda paketen finns tillgängliga via npm och är lätta att använda. Den största skillnaden är att nod-redis är den officiella klienten, medan communityn rekommenderar ioredis.
Ansluter till Redis från Node.js
För att komma igång måste du ha Redis installerat på din dator och en utvecklingsmiljö för Node.js konfigurerad. Kolla in installationsguiden på Redis.io för att installera Redis på Linux, macOS och Windows.
Du måste installera din föredragna Redis-klient-SDK i ditt projekt för att kunna ansluta till Redis. Beroende på dina önskemål (vi använder nod-redis), kör något av kommandona nedan för att installera Redis-klienten:
npm installera redis --save
npm installera ioredis --save
Det första kommandot installeras nod-redis, medan den andra installeras ioredis.
För att konfigurera din nyinstallerade klient måste du se till att Redis körs. Du kan göra detta genom att helt enkelt börja redis-cli i din terminal:
De ping kommandot pingar servern för att bekräfta att den körs, och en PONG svar i CLI betyder att servern fungerar bra. Skapa nu en redis.js fil i ditt Node-projekt och skriv följande kod i den för att konfigurera Redis:
konst redis = behöva("redis")
// initiera med standardkonfiguration
konst RedisClient = redis.createClient()konst connectRedis = asynkron () => {
// anslut till redis
vänta RedisClient.connect()// hantera fel
RedisClient.on('fel', (fel) => {
trösta.fel(`Ett fel uppstod med Redis: ${err}`)
})
trösta.logga("Redis ansluten framgångsrikt...")
}
Koden ovan initierar en ny Redis-klient i applikationen. De skapa klient Redis-paketets funktion låter dig skapa en klient med dina angivna parametrar.
Du kan ange din värd, port, användarnamn, lösenord eller anslutningssträng, eller använda standardvärdena. Till exempel, nod-redis kommer att börja köras på localhost, på port 6379, som standard.
Här är ett par sätt du kan använda skapa klient fungera:
// med anslutningssträng
konst RedisClient = redis.createClient("rediss://127.0.0.1:6379")
// med hjälp av parameterobjekt
konst RedisClient = redis.createClient({
uttag: {
värd: "127.0.0.1",
hamn: "6379"
},
Användarnamn: "ditt redis användarnamn",
Lösenord: "ditt lösenord"
})
Använd säkra Redis-instanser i produktionen. När så är fallet har du antingen en säker URL sträng för anslutning eller använd parametrarna som visas ovan. Oavsett vilket är fallet, kom alltid ihåg att hålla referenser utanför koden och använd miljövariabler istället.
Utföra grundläggande Redis-operationer i Node.js
Följande kod ansluter till Redis med hjälp av connectRedis funktionen ovan och visar några grundläggande operationer du kan utföra i Redis från dina Node-applikationer.
konst testRedis = asynkron () => {
vänta connectRedis()// Ställ in och hämta ett värde
vänta RedisClient.set("namn", "Timmy")
konst getCommand = vänta RedisClient.get("namn")
trösta.log (getCommand)// Ta bort värden omedelbart eller schemalägg dem att förfalla
// på ett antal sekunder
vänta RedisClient.del("namn");
vänta RedisClient.setEx("plats", 60, "Lagos")// Tryck på fram- eller baksidan av en lista
vänta RedisClient.lPush("dagar", "måndag")
vänta RedisClient.rPush("dagar", "tisdag")
vänta RedisClient.lPush("dagar", "onsdag")
konst daysArray = vänta RedisClient.lRange("dagar", 0, -1)
// skriver ut [ 'onsdag', 'måndag', 'tisdag' ]
trösta.log (daysArray)// Ta bort ett objekt från baksidan eller framsidan av en lista
vänta RedisClient.rPop("dagar")
vänta RedisClient.lPop("dagar")
konst newDaysArray = vänta RedisClient.lRange("dagar", 0, -1)
// skriver ut [ 'måndag' ]
trösta.log (newDaysArray)
}
testRedis()
Lägg märke till användningen av asynkron och vänta här. Detta beror på att alla funktioner körs asynkront och ger löften, så om du behöver deras resultat direkt är det viktigt att vänta dem.
Ovanstående kod visar bara några grundläggande operationer du kan utföra i Redis från en Node.js-applikation. Det finns många fler kommandon och koncept som är värda att titta på.
De Redis kommandon avsnittet i README som finns på node-redisGitHub repository är ett bra ställe att hitta alla andra kommandon och vad de gör.
Använd Redis för att bygga effektiva applikationer
Genom att utnyttja kraften i Redis kan du som utvecklare bygga högeffektiva applikationer på serversidan. Med Redis datalagring i minnet och omfattande datastrukturer och kommandon kan applikationer uppnå anmärkningsvärda prestandaoptimeringar.
Du bör definitivt överväga att integrera Redis i din nästa Node.js-applikation för att överlasta din app prestanda och leverera en bättre användarupplevelse.