Zoznámte sa s Redis a naučte sa optimalizovať aplikácie Node pomocou tohto výkonného úložiska údajov.

Keď vytvárate webovú aplikáciu, mali by ste sa uistiť, že je škálovateľná a efektívna. Ak to chcete urobiť, musíte vziať do úvahy niekoľko zásad a konceptov.

Redis je jednou z mnohých technológií, ktoré môžu pomôcť zlepšiť výkon vašich webových aplikácií. Ponúka pozoruhodné funkcie, ktoré môžete použiť na zvýšenie výkonu akejkoľvek webovej aplikácie.

Takže, čo presne je Redis a ako ho môžete začať používať s vašimi webovými aplikáciami Node.js?

Čo je Redis a kedy by ste ho mali používať?

Redis je úložisko údajov typu kľúč – hodnota s otvoreným zdrojom v pamäti. Je to flexibilná technológia, ktorá môže fungovať ako pracovný front, databáza, vyrovnávacia pamäť, správca relácie, sprostredkovateľ správ a ďalšie.

Kombinácia rýchlosti, všestrannosti a jednoduchosti používania Redis z neho robí veľmi cenný nástroj v ekosystéme vývojárov softvéru.

Kedy by ste mali použiť Redis?

Redis je vhodný na mnohé úlohy, ale mali by ste byť opatrní a používať ho iba vtedy, keď to má zmysel.

instagram viewer

Mali by ste zvážiť použitie Redis v týchto scenároch:

  • Ukladanie do vyrovnávacej pamäte: Redis je najobľúbenejší spôsob implementácie vyrovnávacej pamäte, ktorá pomáha predchádzať zaťaženiu databáz a zlepšuje celkový výkon.
  • Správa relácií: Ukladanie a správa používateľských relácií na overenie a správu stavu je s Redis veľmi jednoduché.
  • Dočasné ukladanie dát: Redis vám umožňuje ukladať údaje a po určitom čase ich automaticky vymazávať. To z neho robí dobrý nástroj na ukladanie dočasných údajov ako napr webové tokeny JSON, pracovné fronty, atď.

Medzi ďalšie prípady, v ktorých by ste mali zvážiť použitie Redis, patrí implementácia sprostredkovateľa správ, optimalizácia databázové operácie a dokonca efektívne ukladanie a prístup k dátovým štruktúram, ako sú zoznamy, množiny a hash.

Ako používať Redis s Node.js

Node.js je populárna technológia na vytváranie efektívnych a škálovateľných aplikácií na strane servera. Môžete ho použiť v spojení s podpornými technológiami, ako je Redis, na získanie vysokého výkonu a škálovateľnosti.

Redis podporuje niekoľko jazykov. Môžete ho použiť pre ukladanie dát v PHP a pre Golang sú vynikajúci klienti Redis. Dvaja najpopulárnejší klienti Redis pre Node.js sú uzol-redis a ioredis.

Oba balíčky sú dostupné cez npm a ľahko sa používajú. Hlavný rozdiel je v tom uzol-redis je oficiálnym klientom, zatiaľ čo komunita odporúča ioredis.

Pripojenie k Redis z Node.js

Ak chcete začať, musíte mať v počítači nainštalovaný Redis a nastavené vývojové prostredie Node.js. Pozrite si návod na inštaláciu na Redis.io na inštaláciu Redis v systémoch Linux, macOS a Windows.

Aby ste sa mohli pripojiť k Redis, musíte si do svojho projektu nainštalovať preferovaný Redis client SDK. V závislosti od vašich preferencií (použijeme uzol-redis), spustite niektorý z nižšie uvedených príkazov a nainštalujte klienta Redis:

npm nainštalovať redis --uložiť
npm nainštalovať ioredis --uložiť

Prvý príkaz sa nainštaluje uzol-redis, zatiaľ čo druhý sa nainštaluje ioredis.

Ak chcete nakonfigurovať novo nainštalovaného klienta, musíte sa uistiť, že je spustený Redis. Môžete to urobiť jednoduchým spustením redis-cli vo vašom termináli:

The ping príkaz pingne server, aby potvrdil, že je spustený, a a PONG odpoveď v CLI znamená, že server funguje správne. Teraz vytvorte a redis.js súbor vo svojom projekte Node a napíšte do neho nasledujúci kód na konfiguráciu Redis:

konšt redis = vyžadovať("redis")

// inicializácia pomocou predvolenej konfigurácie
konšt RedisClient = redis.createClient()

konšt connectRedis = async () => {
// pripojenie k redis
čakať RedisClient.connect()

// spracovanie chyby
RedisClient.on('chyba', (chyba) => {
konzoly.chyba(`Vyskytla sa chyba s Redis: ${err}`)
})

konzoly.log('Redis úspešne pripojený...')
}

Vyššie uvedený kód inicializuje nového klienta Redis v aplikácii. The createClient funkcia balíka redis vám umožňuje vytvoriť klienta pomocou zadaných parametrov.

Môžete zadať svojho hostiteľa, port, meno používateľa, heslo alebo reťazec pripojenia alebo použiť predvolené hodnoty. Napríklad, uzol-redis začne bežať na localhost, na porte 6379, predvolene.

Tu je niekoľko spôsobov, ako môžete použiť createClient funkcia:

// pomocou pripájacieho reťazca
konšt RedisClient = redis.createClient("rediss://127.0.0.1:6379")

// pomocou objektu parametra
konšt RedisClient = redis.createClient({
zásuvka: {
hostiteľ: "127.0.0.1",
port: "6379"
},
užívateľské meno: "vaše používateľské meno redis",
heslo: "tvoje heslo"
})

V produkcii používajte zabezpečené inštancie Redis. Keď je to tak, buď máte zabezpečené URL reťazec na pripojenie alebo použite parametre uvedené vyššie. Bez ohľadu na to, aký je prípad, vždy pamätajte na to, aby ste v kóde neobsahovali poverenia a namiesto toho použite premenné prostredia.

Vykonávanie základných operácií Redis v Node.js

Nasledujúci kód sa pripája k Redis pomocou pripojte Redis a demonštruje niektoré základné operácie, ktoré môžete vykonávať v Redis z aplikácií Node.

konšt testRedis = async () => {
čakať connectRedis()

// Nastavenie a získanie hodnoty
čakať RedisClient.set("názov", "Timmy")
konšt getCommand = čakať RedisClient.get("názov")
konzoly.log (getCommand)

// Okamžite odstráňte hodnoty alebo naplánujte ich skončenie
// za niekoľko sekúnd
čakať RedisClient.del("názov");
čakať RedisClient.setEx("miesto", 60, "Lagos")

// Zatlačte na prednú alebo zadnú stranu zoznamu
čakať RedisClient.lPush("dni", "pondelok")
čakať RedisClient.rPush("dni", "utorok")
čakať RedisClient.lPush("dni", "streda")
konšt daysArray = čakať RedisClient.lRange("dni", 0, -1)
// vytlačí [ 'streda', 'pondelok', 'utorok' ]
konzoly.log (daysArray)

// Odstránenie položky zo zadnej alebo prednej časti zoznamu
čakať RedisClient.rPop("dni")
čakať RedisClient.lPop("dni")
konšt newDaysArray = čakať RedisClient.lRange("dni", 0, -1)
// vytlačí [ 'pondelok' ]
konzoly.log (newDaysArray)
}

testRedis()

Všimnite si použitie async a čakať tu. Je to preto, že všetky funkcie bežia asynchrónne a vracajú prísľuby, takže ak ich výsledky potrebujete okamžite, je dôležité čakať ich.

Vyššie uvedený kód zobrazuje iba niektoré základné operácie, ktoré môžete vykonať v Redis z aplikácie Node.js. Existuje oveľa viac príkazov a konceptov, na ktoré sa oplatí pozrieť.

The Príkazy Redis časti v súbore README nájdete na node-redis'sGitHub úložisko je dobré miesto na nájdenie všetkých ostatných príkazov a toho, čo robia.

Použite Redis na vytváranie efektívnych aplikácií

Využitie sily Redis vám ako vývojárovi umožňuje vytvárať vysoko efektívne aplikácie na strane servera. Vďaka úložisku dát Redis v pamäti a rozsiahlym dátovým štruktúram a príkazom môžu aplikácie dosiahnuť pozoruhodné optimalizácie výkonu.

Určite by ste mali zvážiť integráciu Redis do vašej ďalšej aplikácie Node.js, aby ste zvýšili výkon svojej aplikácie a poskytli lepšiu používateľskú skúsenosť.