Запознайте се с Redis и научете как да оптимизирате вашите приложения на Node с това мощно хранилище на данни.

Когато изграждате уеб приложение, трябва да се уверите, че е мащабируемо и ефективно. За да направите това, ще трябва да вземете предвид няколко принципа и концепции.

Redis е една от многото технологии, които могат да помогнат за подобряване на ефективността на вашите уеб приложения. Той предлага забележителни функции, които можете да използвате, за да подобрите производителността на всяко уеб приложение.

И така, какво точно е Redis и как можете да започнете да го използвате с вашите Node.js уеб приложения?

Какво е Redis и кога трябва да го използвате?

Redis е хранилище на данни с отворен код, in-memory, ключ-стойност. Това е гъвкава технология, която може да действа като работна опашка, база данни, кеш, мениджър на сесии, брокер на съобщения и др.

Комбинацията от скорост, гъвкавост и лекота на използване на Redis го прави много ценен инструмент в екосистемата на разработчиците на софтуер.

Кога трябва да използвате Redis?

Redis е много подходящ за много задачи, но трябва да внимавате да го използвате само когато има смисъл да го правите.

Трябва да обмислите използването на Redis в следните сценарии:

  • Кеширане: Redis е най-популярният начин за внедряване на кеш, за да се предотврати натоварването на базите данни и да се подобри цялостната производителност.
  • Управление на сесии: Съхраняването и управлението на потребителски сесии за удостоверяване и управление на състоянието е много лесно с Redis.
  • Временно съхранение на данни: Redis ви позволява да съхранявате данни и да ги изтривате автоматично след определен период от време. Това го прави добър инструмент за съхраняване на временни данни, като напр JSON уеб токени, опашки за работаи т.н.

Други случаи, за които трябва да обмислите използването на Redis, включват внедряване на брокер на съобщения, оптимизиране операции с бази данни и дори ефективно съхраняване и достъп до структури от данни като списъци, набори и хешове.

Как да използвате Redis с Node.js

Node.js е популярна технология за изграждане на ефективни и мащабируеми приложения от страна на сървъра. Можете да го използвате заедно с поддържащи технологии като Redis, за да получите висока производителност и мащабируемост.

Redis поддържа няколко езика. Можете да го използвате за съхранение на данни в PHP и има отлични клиенти на Redis за Golang. Двата най-популярни Redis клиента за Node.js са възел-redis и ioredis.

И двата пакета са достъпни чрез npm и са лесни за използване. Основната разлика е, че възел-redis е официалният клиент, докато общността препоръчва ioredis.

Свързване към Redis от Node.js

За да започнете, трябва да имате инсталиран Redis на компютъра си и да настроите среда за разработка Node.js. Вижте ръководството за инсталиране на Redis.io за инсталиране на Redis на Linux, macOS и Windows.

Трябва да инсталирате предпочитания от вас SDK за Redis клиент във вашия проект, за да можете да се свържете с Redis. В зависимост от вашите предпочитания (ще използваме възел-redis), изпълнете някоя от командите по-долу, за да инсталирате Redis клиента:

npm инсталирайте redis --save
npm инсталирайте ioredis --save

Първата команда се инсталира възел-redis, докато вторият се инсталира ioredis.

За да конфигурирате вашия новоинсталиран клиент, трябва да се уверите, че Redis работи. Можете да направите това, като просто започнете redis-cli във вашия терминал:

The пинг команда пингва сървъра, за да потвърди, че работи, и a ПОНГ отговор в CLI означава, че сървърът работи добре. Сега създайте a redis.js файл във вашия проект Node и напишете следния код в него, за да конфигурирате Redis:

конст redis = изискват("редис")

// инициализиране с помощта на конфигурация по подразбиране
конст RedisClient = redis.createClient()

конст свържетеRedis = асинхронен () => {
// свържете се с redis
изчакайте RedisClient.connect()

// обработка на грешка
RedisClient.on("грешка", (грешка) => {
конзола.грешка(`Възникна грешка с Redis: ${грешка}`)
})

конзола.log(„Redis се свърза успешно...“)
}

Кодът по-горе инициализира нов Redis клиент в приложението. The createClient функцията на пакета redis ви позволява да създадете клиент, като използвате посочените от вас параметри.

Можете да посочите вашия хост, порт, потребителско име, парола или низ за връзка или да използвате стойностите по подразбиране. Например, възел-redis ще започне да работи на localhost, на порт 6379, по подразбиране.

Ето няколко начина, по които можете да използвате createClient функция:

// използвайки низ за връзка
конст RedisClient = redis.createClient("rediss://127.0.0.1:6379")

// използване на параметър обект
конст RedisClient = redis.createClient({
гнездо: {
домакин: "127.0.0.1",
порт: "6379"
},
потребителско име: "вашето потребителско име за redis",
парола: "твоята парола"
})

Използвайте защитени екземпляри на Redis в производството. Когато случаят е такъв, вие или имате сигурен URL адрес низ за връзка или използвайте параметрите, показани по-горе. Който и да е случаят, винаги не забравяйте да държите идентификационните данни извън кода и вместо това да използвате променливи на средата.

Извършване на основни Redis операции в Node.js

Следният код се свързва с Redis с помощта на свържете Redis функция по-горе и демонстрира някои основни операции, които можете да извършвате в Redis от вашите приложения на Node.

конст testRedis = асинхронен () => {
изчакайте свържетеRedis()

// Задаване и извличане на стойност
изчакайте RedisClient.set("име", "Тими")
конст getCommand = изчакайте RedisClient.get("име")
конзола.log (getCommand)

// Изтрийте незабавно стойностите или ги насрочете да изтекат
// за няколко секунди
изчакайте RedisClient.del("име");
изчакайте RedisClient.setEx("местоположение", 60, "Лагос")

// Избутване в предната или задната част на списък
изчакайте RedisClient.lPush("дни", "понеделник")
изчакайте RedisClient.rPush("дни", "вторник")
изчакайте RedisClient.lPush("дни", "сряда")
конст daysArray = изчакайте RedisClient.lRange("дни", 0, -1)
// отпечатва [ 'сряда', 'понеделник', 'вторник' ]
конзола.log (daysArray)

// Премахване на елемент от задната или предната част на списък
изчакайте RedisClient.rPop("дни")
изчакайте RedisClient.lPop("дни")
конст newDaysArray = изчакайте RedisClient.lRange("дни", 0, -1)
// отпечатва [ 'понеделник' ]
конзола.log (newDaysArray)
}

testRedis()

Обърнете внимание на употребата на асинхронен и изчакайте тук. Това е така, защото всички функции работят асинхронно и връщат обещания, така че ако имате нужда от техните резултати незабавно, е важно да изчакайте тях.

Горният код показва само някои основни операции, които можете да извършвате в Redis от Node.js приложение. Има много повече команди и концепции, които си струва да разгледате.

The Redis команди раздел в README, намерен на node-redisGitHub repository е добро място за намиране на всички други команди и какво правят.

Използвайте Redis за изграждане на ефективни приложения

Използването на силата на Redis ви позволява, като разработчик, да създавате високоефективни приложения от страната на сървъра. Със съхранението на данни в паметта на Redis и обширните структури от данни и команди, приложенията могат да постигнат забележителни оптимизации на производителността.

Определено трябва да обмислите интегрирането на Redis в следващото си приложение Node.js, за да увеличите производителността на приложението си и да осигурите по-добро потребителско изживяване.