Machen Sie sich mit Redis vertraut und erfahren Sie, wie Sie Ihre Node-Apps mit diesem leistungsstarken Datenspeicher optimieren.
Wenn Sie eine Web-App erstellen, sollten Sie sicherstellen, dass sie skalierbar und effizient ist. Dazu müssen Sie mehrere Prinzipien und Konzepte berücksichtigen.
Redis ist eine der vielen Technologien, die dazu beitragen können, die Leistung Ihrer Webanwendungen zu verbessern. Es bietet bemerkenswerte Funktionen, mit denen Sie die Leistung jeder Web-App verbessern können.
Was genau ist Redis und wie können Sie es mit Ihren Node.js-Webanwendungen verwenden?
Was ist Redis und wann sollten Sie es verwenden?
Redis ist ein Open-Source-In-Memory-Schlüsselwert-Datenspeicher. Es handelt sich um eine flexible Technologie, die als Arbeitswarteschlange, Datenbank, Cache, Sitzungsmanager, Nachrichtenbroker und mehr fungieren kann.
Die Kombination aus Geschwindigkeit, Vielseitigkeit und Benutzerfreundlichkeit macht Redis zu einem sehr wertvollen Werkzeug im Softwareentwickler-Ökosystem.
Wann sollten Sie Redis verwenden?
Redis ist für viele Aufgaben gut geeignet, Sie sollten jedoch darauf achten, es nur dann zu verwenden, wenn es sinnvoll ist.
In den folgenden Szenarien sollten Sie die Verwendung von Redis in Betracht ziehen:
- Caching: Redis ist die beliebteste Methode zur Implementierung eines Caches, um die Belastung von Datenbanken zu verhindern und die Gesamtleistung zu verbessern.
- Sitzungsverwaltung: Das Speichern und Verwalten von Benutzersitzungen zur Authentifizierung und Statusverwaltung ist mit Redis sehr einfach.
- Temporäre Datenspeicherung: Mit Redis können Sie Daten speichern und nach einem bestimmten Zeitraum automatisch löschen. Dies macht es zu einem guten Werkzeug zum Speichern temporärer Daten wie z JSON-Web-Tokens, Jobwarteschlangen, usw.
Andere Fälle, in denen Sie Redis verwenden sollten, umfassen die Implementierung eines Nachrichtenbrokers und die Optimierung Datenbankoperationen und sogar das effiziente Speichern und Zugreifen auf Datenstrukturen wie Listen, Mengen usw Hashes.
So verwenden Sie Redis mit Node.js
Node.js ist eine beliebte Technologie zum Erstellen effizienter und skalierbarer serverseitiger Apps. Sie können es in Verbindung mit unterstützenden Technologien wie Redis verwenden, um eine hohe Leistung und Skalierbarkeit zu erzielen.
Redis unterstützt mehrere Sprachen. Du kannst es benutzen zur Datenspeicherung in PHP Und Es gibt hervorragende Redis-Clients für Golang. Die beiden beliebtesten Redis-Clients für Node.js sind Node-Redis Und ioredis.
Beide Pakete sind erhältlich über npm und sind einfach zu bedienen. Der Hauptunterschied besteht darin Node-Redis ist der offizielle Kunde, während die Community empfiehlt ioredis.
Herstellen einer Verbindung zu Redis über Node.js
Um zu beginnen, muss Redis auf Ihrem Computer installiert und eine Node.js-Entwicklungsumgebung eingerichtet sein. Schauen Sie sich die Installationsanleitung an Redis.io um Redis unter Linux, macOS und Windows zu installieren.
Sie müssen Ihr bevorzugtes Redis-Client-SDK in Ihrem Projekt installieren, um eine Verbindung zu Redis herstellen zu können. Abhängig von Ihrer Präferenz (wir verwenden Node-Redis), führen Sie einen der folgenden Befehle aus, um den Redis-Client zu installieren:
npm install redis --save
npm install ioredis --save
Der erste Befehl installiert Node-Redis, während der zweite installiert wird ioredis.
Um Ihren neu installierten Client zu konfigurieren, müssen Sie sicherstellen, dass Redis ausgeführt wird. Sie können dies tun, indem Sie einfach beginnen redis-cli in Ihrem Terminal:
Der Klingeln Der Befehl pingt den Server an, um zu bestätigen, dass er ausgeführt wird, und a PONG Die Antwort in der CLI bedeutet, dass der Server einwandfrei funktioniert. Erstellen Sie nun eine redis.js Datei in Ihrem Node-Projekt und schreiben Sie den folgenden Code hinein, um Redis zu konfigurieren:
const redis = erfordern(„redis“)
// Mit Standardkonfiguration initialisieren
const RedisClient = redis.createClient()const connectRedis = asynchron () => {
// Mit Redis verbinden
erwarten RedisClient.connect()// Fehler behandeln
RedisClient.on('Fehler', (irr) => {
Konsole.Fehler(„Bei Redis ist ein Fehler aufgetreten: ${err}`)
})
Konsole.Protokoll(„Redis erfolgreich verbunden …“)
}
Der obige Code initialisiert einen neuen Redis-Client in der Anwendung. Der createClient Mit der Funktion des Redis-Pakets können Sie einen Client mit Ihren angegebenen Parametern erstellen.
Sie können Ihren Host, Port, Benutzernamen, Ihr Passwort oder Ihre Verbindungszeichenfolge angeben oder die Standardwerte verwenden. Zum Beispiel, Node-Redis wird auf localhost und auf dem Port ausgeführt 6379, standardmäßig.
Hier sind einige Möglichkeiten, wie Sie das verwenden können createClient Funktion:
// Verbindungszeichenfolge verwenden
const RedisClient = redis.createClient(„rediss://127.0.0.1:6379“)
// Parameterobjekt verwenden
const RedisClient = redis.createClient({
Steckdose: {
Gastgeber: "127.0.0.1",
Hafen: "6379"
},
Nutzername: „Ihr Redis-Benutzername“,
Passwort: "Ihr Passwort"
})
Verwenden Sie sichere Redis-Instanzen in der Produktion. Wenn dies der Fall ist, verfügen Sie entweder über eine sichere URL Geben Sie für die Verbindung eine Zeichenfolge ein oder verwenden Sie die oben gezeigten Parameter. Denken Sie in jedem Fall daran, Anmeldeinformationen aus dem Code fernzuhalten und stattdessen Umgebungsvariablen zu verwenden.
Durchführen grundlegender Redis-Vorgänge in Node.js
Der folgende Code stellt mithilfe von eine Verbindung zu Redis her connectRedis Funktion oben und demonstriert einige grundlegende Vorgänge, die Sie in Redis von Ihren Node-Anwendungen aus ausführen können.
const testRedis = asynchron () => {
erwarten connectRedis()// Einen Wert festlegen und abrufen
erwarten RedisClient.set("Name", „Timmy“)
const getCommand = erwarten RedisClient.get("Name")
Konsole.log (getCommand)// Werte sofort löschen oder deren Ablauf planen
// in einigen Sekunden
erwarten RedisClient.del("Name");
erwarten RedisClient.setEx("Standort", 60, „Lagos“)// An die Vorder- oder Rückseite einer Liste verschieben
erwarten RedisClient.lPush("Tage", "Montag")
erwarten RedisClient.rPush("Tage", "Dienstag")
erwarten RedisClient.lPush("Tage", "Mittwoch")
const TageArray = erwarten RedisClient.lRange("Tage", 0, -1)
// druckt ['wednesday', 'monday', 'tuesday']
Konsole.log (daysArray)// Ein Element von der Vorder- oder Rückseite einer Liste entfernen
erwarten RedisClient.rPop("Tage")
erwarten RedisClient.lPop("Tage")
const newDaysArray = erwarten RedisClient.lRange("Tage", 0, -1)
// druckt ['Montag']
Konsole.log (newDaysArray)
}
testRedis()
Beachten Sie die Verwendung von asynchron Und erwarten Hier. Dies liegt daran, dass alle Funktionen asynchron ausgeführt werden und Versprechen zurückgeben. Wenn Sie ihre Ergebnisse also sofort benötigen, ist es wichtig, dies zu tun erwarten ihnen.
Der obige Code zeigt nur einige grundlegende Vorgänge, die Sie in Redis über eine Node.js-Anwendung ausführen können. Es gibt viele weitere Befehle und Konzepte, die einen Blick wert sind.
Der Redis-Befehle Abschnitt in der README-Datei unter Node-RedisGitHub Das Repository ist ein guter Ort, um alle anderen Befehle und deren Funktion zu finden.
Verwenden Sie Redis, um effiziente Anwendungen zu erstellen
Durch die Nutzung der Leistungsfähigkeit von Redis können Sie als Entwickler hocheffiziente serverseitige Anwendungen erstellen. Mit der In-Memory-Datenspeicherung und den umfangreichen Datenstrukturen und Befehlen von Redis können Anwendungen bemerkenswerte Leistungsoptimierungen erzielen.
Sie sollten auf jeden Fall darüber nachdenken, Redis in Ihre nächste Node.js-Anwendung zu integrieren, um die Leistung Ihrer App zu steigern und ein besseres Benutzererlebnis zu bieten.