NodeJS

NodeJS med Redis

NodeJS med Redis
Redis er mye brukt som en caching-server. Noen ganger brukes Redis også som en database. Den lagrer dataene direkte i datamaskinens minne (RAM). Fordelen er at den kan få tilgang til dataene veldig raskt. Ulempen er at dataene den lagrer er midlertidige. Hvis du starter datamaskinen på nytt, vil alle data være borte.

I denne artikkelen vil jeg vise deg hvordan du bruker Redis med Node.js. Jeg skal bruke Node.js 10.x på Debian 9 Stretch i denne artikkelen. Men enhver moderne versjon av Node.js skal fungere. Så la oss komme i gang. For å komme i gang må du ha følgende krav:

Du bør kunne finne artikler om installering av Node.js og NPM på ønsket Linux-distribusjon på LinuxHint.com.  Jeg har skrevet en dedikert artikkel om installering av Redis på Ubuntu / Debian.

Starter Redis:

Du kan sjekke om redis tjenesten kjører med følgende kommando:

$ sudo systemctl status redis

Som du kan se, redis tjenesten kjører.

Hvis redis tjenesten kjører ikke i ditt tilfelle, start den med følgende kommando:

$ sudo systemctl start redis

Initialisere prosjektkatalogen:

Opprett først en prosjektkatalog (la oss kalle det node-redis) med følgende kommando:

$ mkdir ~ / node-redis

Gå nå til prosjektkatalogen ~ / node-redis

$ cd ~ / node-redis

Lag nå en pakke.json fil:

$ npm init -y

Installerer Redis Node.js-modul:

Det er mange Redis-klienter for Node.js. Den offisielle nettsiden til Redis anbefaler redis. Du kan enkelt installere redis Node.js-modul ved hjelp av NPM (Node Package Manager).

Å installere redis Node.js-modul, kjør følgende NPM-kommando:

$ npm install redis --save

redis Node.js-modulen skal installeres.

Koble til Redis ved hjelp av Node.js:

I denne delen skal jeg vise deg hvordan du kobler til Redis datalager ved hjelp av Node.js.

Først oppretter du en ny fil koble.js i prosjektkatalogen og skriv inn følgende kommandoer i den:

Her importerer linje 1 redis modul.

Linje 2 oppretter en Redis-klient. Da jeg kjører Redis på samme datamaskin som Node.js-programmer kjører, måtte jeg ikke spesifisere vertsnavnet eller IP-adressen og porten der Redis-serveren kjører. Hvis du kjører Redis-server på en annen datamaskin eller server, må du spesifisere den her.

La oss for eksempel si at Redis-serveren din kjører på port 6379 på en datamaskin som har IP-adressen 192.168.10.87, så ville du skrive linje 2 som:

la klient = redis.createClient (6379, '192.168.10.87 ');

Linje 4-6 brukes til å skrive ut en melding til konsollen hvis vi kan koble til Redis-serveren.

Linje 9-10 brukes til å skrive ut en melding til konsollen hvis vi ikke klarer å koble til Redis-serveren.

Kjør nå koble.js Node.js-skript som følger:

$ node connect.js

Som du kan se, er jeg koblet til Redis-serveren.

Lagring av data i Redis ved hjelp av Node.js:

I denne delen vil jeg vise deg hvordan du lagrer data (nøkkelverdipar) i Redis datalager med Node.js

Opprett først sett1.js filen i prosjektkatalogen og skriv inn følgende linjer i den:

Her er linje 1 og 2 de samme som i koble.js.

På linje 4 setter jeg tilbakeringingsfunksjonen til koble hendelse til lagre data. Så når vår Redis-klient er koblet til Redis-serveren, funksjonen lagre data er kalt.

På linje 6-10, tilbakeringingsfunksjonen lagre data er definert.

På linje 7 og 8 brukte jeg sett (nøkkel, verdi) Metode av RedisClient objekt for å sette nøkkelen Navn og land å verdsette Mary Smith og USA henholdsvis.

Nå, løp sett1.js som følger:

$ node sett1.js

Som du kan se, er nøkkelverdiparene satt.

Henter data fra Redis ved hjelp av Node.js

I denne delen vil jeg vise deg hvordan du henter data fra Redis datalager ved hjelp av Node.js.

Først oppretter du en ny fil get1.js i prosjektkatalogen og skriv inn følgende linjer:

Her, på linje 4, getData funksjonen er satt som en tilbakeringingsfunksjon for koble hendelse av RedisClient.

På linje 6-9, den getData funksjon er definert.

På linje 7 ringte jeg få (nøkkel, tilbakeringing) Metode av RedisClient gjenstand. Navn her er nøkkel av verdien du vil hente. få() metoden kaller printValue tilbakeringingsfunksjon før den er ferdig.

På linje 11-18, feil første stil tilbakeringingsfunksjon printValue () er definert. Den godtar to argumenter, feil og resultat. Hvis det oppstår en feil, skrives den ut på konsollen og funksjonen avsluttes. Hvis det ikke er noen feil, blir verdien for den bestemte nøkkelen skrevet ut på konsollen.

På linje 8 skjer det samme.

Nå, løp get1.js som følger:

$ node get1.js

Som du kan se, er verdiene for tastene Navn og land hentes fra Redis datalager.

Lagre objekter i Redis med Node.js:

Du kan lagre JavaScript-objekter i Redis datalager.

Først oppretter du en ny fil sett2.js i prosjektkatalogen og skriv inn følgende linjer i den.

Her er alt det samme som i sett1.js fil som jeg allerede har forklart tidligere. Den eneste forskjellen er at jeg brukte klient.hmset (nøkkel, objekt) Metode av RedisClient objekt i setData () tilbakeringingsfunksjon.

På linje 7-10 brukte jeg klient.hmset () metode for å lagre et JavaScript-objekt i Redis-datalageret mot nøkkelen C011.

Kjør nå sett2.js Node.js-skript som følger:

$ node set2.js

Som du ser er objektet lagret.

Henter objekter fra Redis med Node.js:

I denne delen skal jeg vise deg hvordan du henter gjenstander fra Redis datalager.

Knyttneve, lag en ny fil get2.js i prosjektkatalogen og skriv inn følgende linjer i den.

Her er alt det samme som i get1.js skript jeg forklarte tidligere.

Du kan hente et JavaScript-objekt veldig enkelt med klient.hgetall (nøkkel, tilbakeringing) metoden til RedisClient som i linje 7-9.

Kjør nå get2.js Node.js-skript som følger:

$ node get2.js

Som du kan se, blir JavaScript-objektet hentet fra Redis-datalageret.

Jeg viste deg hvordan du konfigurerer Redis med Node.js i denne artikkelen. Nå skal du kunne lese redis Node.js moduldokumentasjon på http: // redis.js.org og lær mer om det. Takk for at du leser denne artikkelen.

Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...
Beste Gamepad Mapping Apps for Linux
Hvis du liker å spille spill på Linux med en gamepad i stedet for et vanlig tastatur- og musinngangssystem, er det noen nyttige apper for deg. Mange P...