Erste Schritte mit Redis und PHP für die schnelle Datenspeicherung

Die beliebte Redis-Speicher-Engine ist ein hervorragendes und unverzichtbares Werkzeug im Arsenal jedes Softwareentwicklers. Die In-Memory-Speicher-Engine ermöglicht blitzschnelles Speichern und Abrufen von Daten mit bis zu beeindruckenden 32 Millionen Abfragen pro Sekunde, was sie zu einer erstklassigen Ergänzung zu allen wichtigen Datenbank-Engines macht.

Tauchen wir ein und erfahren Sie, wie Sie unseren Online-Betrieb beschleunigen können.

Redis: Vorteile vs. Nachteile

Der größte Vorteil von Redis besteht darin, dass es sich um einen reinen In-Memory-Datenspeicher handelt , was bedeutet, dass er unglaublich schnell ist, da die Datenbank im RAM gespeichert wird, sodass keine Datei-I/O-Operationen auf der Festplatte erforderlich sind.

Weitere zusätzliche Vorteile sind die Einfachheit, die Clustering-Unterstützung über Redis-Cluster sowie die Unterstützung für acht verschiedene Datentypen, die Ihnen die erforderliche Flexibilität zum Speichern und Verwalten Ihrer Daten nach Bedarf bieten.

Sein größter Nachteil ist jedoch auch die Tatsache, dass es sich um einen reinen In-Memory-Datenspeicher handelt, der daher Größenbeschränkungen unterliegt. Dies hängt von Ihrer Serverinfrastruktur ab, aber aus Gründen dieses Artikels und der Einfachheit wird Ihre typische Redis-Datenbank nur maximal 2-4 GB Daten enthalten.

Dies bedeutet, dass Redis verwendet wird, um die weit verbreiteten Datenbank-Engines wie mySQL, PostgreSQL und MongoDB zu ergänzen und nicht als Ersatz gedacht ist. Hauptverwendungszwecke für Redis sind ein Cache, temporäre/neue Daten, die in kurzer Zeit ablaufen, oder kleine Daten, auf die häufig zugegriffen wird.

So installieren Sie Redis

Angenommen, Sie führen Ubuntu oder eine andere Linux-Distribution aus, die den Befehl apt-get enthält , um Redis zu installieren, führen Sie einfach den folgenden Befehl im Terminal aus:

sudo apt-get install redis-server

Überprüfen Sie als Nächstes, ob Redis erfolgreich installiert wurde. Führen Sie im Terminal den Befehl aus:

redis-cli --version

Dies sollte die Version von Redis drucken, die Sie ausführen, und vorausgesetzt, führen Sie den folgenden Befehl aus, um eine Verbindung zu Redis herzustellen:

redis-cli

Dadurch erhalten Sie eine nicht standardmäßige Redis-Eingabeaufforderung im Terminal, die ungefähr so ​​​​aussieht:

127.0.0.1:6379>

String-Befehle

Jeder Eintrag in Redis wird durch einen Schlüssel identifiziert, der eine beliebige Zeichenfolge ohne Leerzeichen sein kann. Zeichenfolgen enthalten nur einen einzelnen Wert und führen Sie beispielsweise die folgenden Befehle an der Redis-Eingabeaufforderung aus, um einen Wert für einige Schlüssel festzulegen.

127.0.0.1:6379> set full_name "John Doe" 127.0.0.1:6379> set units 5

Sie können jetzt mit dem Befehl keys alle Schlüssel auflisten, die sich derzeit in der Redis-Datenbank befinden.

127.0.0.1:6379> keys *

Dies führt zur Anzeige der beiden zuvor festgelegten Schlüssel, full_name  und units . Sie können den Wert dieser Schlüssel mit dem Befehl get sehen.

127.0.0.1:6379> get full_name "John Doe" 127.0.0.1:6379> get units 5

Das Löschen von Schlüsseln kann einfach mit dem Befehl del erfolgen.

127.0.0.1:6379> del full_name

Es ist auch möglich, eine ganze Zahl mit dem Befehl hincrby schnell zu erhöhen . Im Folgenden wird die "Einheiten"-Taste von 5 auf 7 erhöht.

127.0.0.1:6379> incrby units 2

Listenbefehle

Listen in Redis sind eindimensionale Arrays mit einer bestimmten Reihenfolge und ermöglichen doppelte Elemente an verschiedenen Positionen der Liste. Mit den Befehlen lpush und rpush können Elemente links oder rechts von einer Liste hinzugefügt werden.

127.0.0.1:6379> lpush colors blue 127.0.0.1:6379> rpush colors red yellow green

Wie Sie im obigen Beispiel sehen können, können Sie innerhalb eines einzigen Befehls mehrere Elemente in eine Liste verschieben. Wir können jetzt alle Elemente in der Liste anzeigen, indem wir den Befehl lrange verwenden .

127.0.0.1:6379> lrange colors 0 -1

Am Ende des Befehls stehen zwei Ganzzahlen, die erste definiert die Position innerhalb der Liste, an der sie beginnen soll, und die zweite ist die Anzahl der zurückzugebenden Elemente, wobei -1 alle Elemente bedeutet. Das Ergebnis des obigen Befehls ist blau, rot, gelb, grün .

Sie können mit den Befehlen lpop und rpop auch Elemente von beiden Enden einer Liste entfernen .

127.0.0.1:6379> lpop colors blue 127.0.0.1:6379> rpop colors green

Sie können die Anzahl der Elemente in einer Liste auch mit dem Befehl llen abrufen .

127.0.0.1:6379> llen colors (integer) 2

Zuletzt können Sie mit dem Befehl lrem ein Element aus einer Liste entfernen .

127.0.0.1:6379> lrem colors 1 green (integer) 1

Der Befehl lrem beginnt mit dem Listennamen, gefolgt von der Anzahl der zu entfernenden Vorkommen und dem Namen des zu entfernenden Elements. Es wird die Anzahl der gefundenen und aus der Liste entfernten Vorkommen zurückgegeben.

Hash-Befehle

Einer der beliebtesten Datentypen in Redis sind Hashes, mit denen Sie mehrere Schlüssel-Wert-Paare in einem einzigen Eintrag speichern können. Der Schlüssel muss nicht bereits vorhanden sein, und Sie können jederzeit mit dem Befehl hset Schlüssel-Wert-Paare definieren .

127.0.0.1:6379> hset user:581 full_name "Jane Doe" 127.0.0.1:6379> hset user:581 points 500

Sie können mit dem Befehl hmset auch mehrere Schlüssel-Wert-Paare eines Hashs innerhalb eines einzigen Befehls definieren .

127.0.0.1:6379> hmset user:581 email [email protected] gender F

Der vom Key- User:581 identifizierte Hash hat nun insgesamt vier Schlüssel-Wert-Paare, die alle einfach mit dem Befehl hgetall abgerufen werden können .

127.0.0.1:6379> hgetall user:581 1) "full_name" 2) "Jane Doe" 3) "points" 4) "500" 5) "email" 6) "[email protected]" 7) "gender" 8) "F"

Sie können den Wert eines einzelnen Schlüssel-Wert-Paares innerhalb eines Hashs auch mit dem Befehl get abrufen.

127.0.0.1:6379> hget user:581 email "[email protected]"

Alle ganzen Zahlen innerhalb des Hashs können mit dem Befehl code hincrby um einen bestimmten Betrag erhöht werden .

127.0.0.1:6379> hincrby user:581 points 20 (integer) 520

Der Wert der Punkte Schlüssel innerhalb des Hash wird nun von 20 bis 520. Eines einzelnen Schlüssel-Wert - Paar in einem Hash inkrementiert wurde mit dem gelöscht werden kann HDEL - Befehl.

127.0.0.1:6379> hdel user:581 gender

Alternativ können Sie mit dem Befehl del auch einen Hash vollständig einschließlich aller Schlüssel-Wert-Paare löschen .

127.0.0.1:6379> del user:581

Ablaufende Redis-Schlüssel

Ein weiteres hervorragendes Feature von Redis ist die Möglichkeit, Schlüssel nach einer definierten Anzahl von Sekunden mit dem Expire- Befehl automatisch ablaufen zu lassen . Bitte beachten Sie, dass Sie nur vollständige Schlüssel und nicht einzelne Elemente innerhalb einer Liste oder eines Hashs ablaufen lassen dürfen. Zum Beispiel:

127.0.0.1:6379> expire full_name 10

Dadurch wird eine Ablaufzeit von 10 Sekunden für den Schlüssel full_name festgelegt, den Sie im Abschnitt "Strings" erstellt haben. Nachdem Sie den obigen Befehl ausgeführt haben, warten Sie 10 Sekunden und versuchen Sie dann erneut, den Wert des Schlüssels abzurufen.

127.0.0.1:6379> get full_name (nil)

Wie erwartet ist der Schlüssel nun abgelaufen, daher erhalten wir als Ergebnis null.

Verbinden Sie sich mit Redis mit PHP

Nachdem Sie nun die Grundlagen zum Speichern und Abrufen von Daten mit Redis kennengelernt haben, ist es an der Zeit, es mit Ihrer Software zu verbinden. Alle Programmiersprachen haben Module/Erweiterungen für Redis, aber für dieses Beispiel verwenden wir PHP.

Sie müssen zuerst die PHP-Redis-Erweiterung installieren, da sie nicht standardmäßig installiert ist. Führen Sie im Terminal den Befehl aus.

sudo apt-get install php-redis

Stellen Sie nach der Installation sicher, dass Sie PHP-fpm neu starten, damit die Erweiterung ordnungsgemäß geladen wird. Hier ist etwas PHP-Code, der eine Verbindung zu Redis herstellt und mit Redis interagiert.

<> // Connect to redis $conn = new redis(); try { $conn->connect('127.0.0.1', 6379, 5); } catch (RedisException $e) { die("Unable to connect to redis"); } // Set string $conn->set('country', 'Canada'); // Get string $value = $conn->get('country'); echo "Country is: $value "; // Define a profile $profile = [ 'username' => 'mike', 'full_name' => 'Mike Smith', 'email' => '[email protected]', 'country' => 'Australia' ]; // Create a hash $conn->hmset('user:188', $profile); // Get all values of the profile hash $values = $conn->hgetall('user:188'); print_r($values); // Get only the e-mail address $email = $conn->hget('user:188', 'email'); echo "E-mail is: $email "; // Expire the hash in 15 seconds $conn->expire('user:188', 15);

Der obige Beispielcode sollte ziemlich einfach sein. Es verbindet sich zuerst mit einem Timeout von 5 Sekunden mit Redis und fährt dann mit dem Festlegen und Abrufen einer Zeichenfolge und eines Hashs fort. Alle Redis-Befehle können über OOP ausgeführt werden, indem sie wie oben beschrieben direkt aus dem Redis-Objekt aufgerufen werden.

Sie sind auf dem Weg!

Herzlichen Glückwunsch, Sie haben die Grundlagen zum Speichern und Abrufen von Daten mit atemberaubender Geschwindigkeit über die Redis-Speicher-Engine gelernt, einschließlich der Verbindung und Schnittstelle zu Redis mithilfe von PHP.

Bitte beachten Sie, dass dieser Artikel nur die Grundlagen behandelt und die Seite Redis-Datentypen der Dokumentation ein großartiger Ort ist, um Redis und alle seine Funktionen weiter zu erkunden.


Kopieren und Einfügen auf Chromebook

Kopieren und Einfügen auf Chromebook

Das erste, was Sie sich beim Wechsel zu einem Chromebook vielleicht fragen werden, ist, wie Sie die grundlegenden Dinge erledigen - die Art von Dingen, die Sie in Ihrem vorherigen Betriebssystem auf der Rückseite hatten. Kopieren und Einfügen ist eine dieser grundlegenden Funktionen, die Sie an der einen oder anderen Stelle verwenden müssen.

So machen Sie einen Schreibtest unter Linux mit tt

So machen Sie einen Schreibtest unter Linux mit tt

In der modernen Ära der Technologie ist das Tippen zu einer der häufigsten Tätigkeiten für viele Berufe geworden. Wenn Sie lernen, schneller und genauer zu tippen, können Sie mehr Dinge in der gleichen Zeit erledigen.

WLAN funktioniert nicht unter Ubuntu? So beheben Sie es

WLAN funktioniert nicht unter Ubuntu? So beheben Sie es

Ubuntu ist beliebt für seine Robustheit und relativ weniger Fehler. Aber es ist sicher nicht ohne Probleme. Ein solches Problem ist mit seinem Wi-Fi-Treiber. Möglicherweise schalten Sie Ihr System nur ein, um festzustellen, dass Ihr Wi-Fi nicht funktioniert.

So erstellen und scannen Sie QR-Codes auf Chromebook

So erstellen und scannen Sie QR-Codes auf Chromebook

Quick Response Codes, kurz QR-Codes, sind fortschrittliche Barcodes, die mehr Informationen enthalten als ein herkömmlicher Barcode. Diese Codes sind zweidimensional, sodass Sie sie vertikal oder horizontal scannen können.

So installieren und entfernen Sie Pakete in Arch Linux

So installieren und entfernen Sie Pakete in Arch Linux

Sie möchten Pakete unter Arch Linux installieren, wissen aber nicht wie? Viele Leute stehen vor diesem Problem, wenn sie zum ersten Mal von Debian-basierten Distributionen zu Arch migrieren. Sie können Pakete auf Ihrem Arch-basierten System jedoch problemlos mithilfe von Paketmanagern verwalten.

So installieren Sie Spotify unter Linux

So installieren Sie Spotify unter Linux

Spotify ist einer der größten Musik-Streaming-Dienste auf dem Markt. Es verfügt über native Clients sowohl für mobile (Android und iOS) als auch für Desktop-Geräte (Mac und Windows).

9 grundlegende Befehle für den Einstieg in Linux

9 grundlegende Befehle für den Einstieg in Linux

In Linux-Anleitungen wird oft erwartet, dass Sie bestimmte Operationen im Terminal ausführen, was auf den ersten Blick einschüchternd wirken kann. Aber keine Sorge; Dieser Spickzettel für Linux-Befehle behandelt das Öffnen eines Terminals und das Ausgeben einiger nützlicher Befehle.

So verschieben Sie Linux-Dateien mit dem Mv-Befehl

So verschieben Sie Linux-Dateien mit dem Mv-Befehl

Während Sie wahrscheinlich bereits wissen, wie Sie eine Datei unter Linux mit dem GUI-Dateibrowser verschieben, fragen Sie sich vielleicht, ob es im Terminal einen Verschiebebefehl gibt, mit dem Sie Dateien schnell in verschiedene Verzeichnisse verschieben können. Der mv-Befehl ist der gewünschte und mit seiner einfachen Syntax und einigen optionalen Sicherheitsflags einfach zu verwenden.

Die 10 besten Debian-basierten Linux-Distributionen

Die 10 besten Debian-basierten Linux-Distributionen

Das Standard-Debian und sein beliebter Ableger Ubuntu sind großartige Allround-Optionen für ein Linux-System, aber wenn Sie speziellere Bedürfnisse haben, möchten Sie vielleicht eine Debian-Alternative.

So finden und entfernen Sie doppelte Dateien unter Linux mit fdupes

So finden und entfernen Sie doppelte Dateien unter Linux mit fdupes

Wenn Sie mit großen Mengen an Medien und Dokumenten arbeiten, sammeln sich häufig mehrere Kopien derselben Datei auf Ihrem Computer an. Was folgt, ist unweigerlich ein überladener Speicherplatz, der mit redundanten Dateien gefüllt ist, was regelmäßige Überprüfungen auf doppelte Dateien auf Ihrem System provoziert.

Was ist die beste Linux-Distribution für Laptops?

Was ist die beste Linux-Distribution für Laptops?

Eines der besten Dinge an Linux ist, dass es für jeden eine Distribution gibt, egal welche Art von Hardware Sie verwenden. Sie können einen alten Laptop von Ihrem Dachboden holen, ihn abstauben, Linux installieren und schon kann es losgehen.

Notizen auf Chromebooks mit Kursivschrift einfacher machen

Notizen auf Chromebooks mit Kursivschrift einfacher machen

Cursive ist eine Progressive Web App (PWA), die Google mit der Veröffentlichung von HP Chromebook x2 11 eingeführt hat. Mit dieser App können Sie handschriftliche Notizen auf Ihrem Chromebook mit Eingabestift machen.

Wie man Vim benutzt: Eine Anleitung zu den Grundlagen

Wie man Vim benutzt: Eine Anleitung zu den Grundlagen

Vim ist der leistungsstärkste und vielseitigste Code-Editor, der für Unix-ähnliche Systeme verfügbar ist. Es ist eine Erweiterung des von Bill Joy entwickelten Vi-Editors. Vim ist standardmäßig auf den meisten Linux- und BSD-Systemen verfügbar.

10 beste Linux-Distributionen für Entwickler

10 beste Linux-Distributionen für Entwickler

Während Linux für Gelegenheitsbenutzer vielleicht nicht das bevorzugte Betriebssystem ist, ist es die erste Wahl für die meisten Entwickler und Programmierer. Linux ist ein praktischeres Betriebssystem, das explizit für Programmierer und Entwickler entwickelt wurde.

So verschlüsseln und entschlüsseln Sie ganz einfach Dateien und Verzeichnisse in Linux

So verschlüsseln und entschlüsseln Sie ganz einfach Dateien und Verzeichnisse in Linux

Wollten Sie schon immer Dateien unter Linux schnell und einfach verschlüsseln, ohne neue Softwarepakete installieren und lernen zu müssen? Dies ist eine hervorragende und einfache Möglichkeit, Dateien oder Verzeichnisse einfach über AES256 mit einem Kennwort zu verschlüsseln, um Ihre Dateien vor neugierigen Blicken zu schützen.

Stabile vs. Bleeding-Edge-Linux-Distributionen: Welche sollten Sie wählen?

Stabile vs. Bleeding-Edge-Linux-Distributionen: Welche sollten Sie wählen?

Eine der wichtigsten Entscheidungen, die viele Linux-Benutzer bei der Auswahl einer Linux-Distribution treffen, ist ihre Stabilität oder wie stark sich die Software ändert.

Ist 2020 das Jahr der Linux-Malware-Pandemie?

Ist 2020 das Jahr der Linux-Malware-Pandemie?

Sein Ruf für Sicherheit bedeutet, dass Linux oft als weniger anfällig für die Arten von Bedrohungen angesehen wird, die regelmäßig Microsoft Windows-Systeme heimsuchen. Ein Großteil dieser wahrgenommenen Sicherheit kommt von der relativ geringen Anzahl von Linux-Systemen, aber sehen Cyberkriminelle allmählich Wert darin, sich für Qualität statt Quantität zu entscheiden?

So konvertieren Sie zwischen Linux-Paketen mit Alien

So konvertieren Sie zwischen Linux-Paketen mit Alien

Möchten Sie ein Linux-Paket in ein anderes Format konvertieren? Vielleicht ist das Paket, das Sie suchen, für Ihre Distribution nicht verfügbar, aber Sie möchten es trotzdem. Oder Sie sind Entwickler und möchten Zeit sparen, indem Sie Ihr Programm schnell in andere Formate umpacken, ohne das Paket erneut erstellen zu müssen.

So installieren und verwenden Sie Neofetch unter Linux

So installieren und verwenden Sie Neofetch unter Linux

Neofetch zeigt ein ASCII-Logo Ihrer Linux-Distribution zusammen mit Informationen zu Ihrem System im Terminal an. Viele Linux-Benutzer verwenden es in Screenshots ihrer Desktops, nur weil sie es für cool halten. Und sie haben recht. Sie können es auch verwenden, um Ihr Setup in Screenshots zu zeigen.

So installieren Sie einen FTP-Server auf Ubuntu in 5 Schritten

So installieren Sie einen FTP-Server auf Ubuntu in 5 Schritten

Wenn Sie einen Linux-Server einrichten, benötigen Sie einen FTP-Zugang. Dies bedeutet, dass Sie zuerst einen FTP-Server unter Linux installieren. Dies sollte eines der ersten Dinge sein, die Sie nach der Installation Ihres Serverbetriebssystems tun.

Kopieren und Einfügen auf Chromebook

Kopieren und Einfügen auf Chromebook

Das erste, was Sie sich beim Wechsel zu einem Chromebook vielleicht fragen werden, ist, wie Sie die grundlegenden Dinge erledigen - die Art von Dingen, die Sie in Ihrem vorherigen Betriebssystem auf der Rückseite hatten. Kopieren und Einfügen ist eine dieser grundlegenden Funktionen, die Sie an der einen oder anderen Stelle verwenden müssen.

So machen Sie einen Schreibtest unter Linux mit tt

So machen Sie einen Schreibtest unter Linux mit tt

In der modernen Ära der Technologie ist das Tippen zu einer der häufigsten Tätigkeiten für viele Berufe geworden. Wenn Sie lernen, schneller und genauer zu tippen, können Sie mehr Dinge in der gleichen Zeit erledigen.

WLAN funktioniert nicht unter Ubuntu? So beheben Sie es

WLAN funktioniert nicht unter Ubuntu? So beheben Sie es

Ubuntu ist beliebt für seine Robustheit und relativ weniger Fehler. Aber es ist sicher nicht ohne Probleme. Ein solches Problem ist mit seinem Wi-Fi-Treiber. Möglicherweise schalten Sie Ihr System nur ein, um festzustellen, dass Ihr Wi-Fi nicht funktioniert.

So erstellen und scannen Sie QR-Codes auf Chromebook

So erstellen und scannen Sie QR-Codes auf Chromebook

Quick Response Codes, kurz QR-Codes, sind fortschrittliche Barcodes, die mehr Informationen enthalten als ein herkömmlicher Barcode. Diese Codes sind zweidimensional, sodass Sie sie vertikal oder horizontal scannen können.

So installieren und entfernen Sie Pakete in Arch Linux

So installieren und entfernen Sie Pakete in Arch Linux

Sie möchten Pakete unter Arch Linux installieren, wissen aber nicht wie? Viele Leute stehen vor diesem Problem, wenn sie zum ersten Mal von Debian-basierten Distributionen zu Arch migrieren. Sie können Pakete auf Ihrem Arch-basierten System jedoch problemlos mithilfe von Paketmanagern verwalten.

So installieren Sie Spotify unter Linux

So installieren Sie Spotify unter Linux

Spotify ist einer der größten Musik-Streaming-Dienste auf dem Markt. Es verfügt über native Clients sowohl für mobile (Android und iOS) als auch für Desktop-Geräte (Mac und Windows).

9 grundlegende Befehle für den Einstieg in Linux

9 grundlegende Befehle für den Einstieg in Linux

In Linux-Anleitungen wird oft erwartet, dass Sie bestimmte Operationen im Terminal ausführen, was auf den ersten Blick einschüchternd wirken kann. Aber keine Sorge; Dieser Spickzettel für Linux-Befehle behandelt das Öffnen eines Terminals und das Ausgeben einiger nützlicher Befehle.

So verschieben Sie Linux-Dateien mit dem Mv-Befehl

So verschieben Sie Linux-Dateien mit dem Mv-Befehl

Während Sie wahrscheinlich bereits wissen, wie Sie eine Datei unter Linux mit dem GUI-Dateibrowser verschieben, fragen Sie sich vielleicht, ob es im Terminal einen Verschiebebefehl gibt, mit dem Sie Dateien schnell in verschiedene Verzeichnisse verschieben können. Der mv-Befehl ist der gewünschte und mit seiner einfachen Syntax und einigen optionalen Sicherheitsflags einfach zu verwenden.

Die 15 besten Themen für Ubuntu 20.04 im Jahr 2020

Die 15 besten Themen für Ubuntu 20.04 im Jahr 2020

Viele neue aktualisierte Designs können auf dem neuen GNOME-Desktop von Ubuntu 20.04 installiert werden. Hier ist eine Liste der besten Ubuntu-Themes im Jahr 2020

Die 10 besten Debian-basierten Linux-Distributionen

Die 10 besten Debian-basierten Linux-Distributionen

Das Standard-Debian und sein beliebter Ableger Ubuntu sind großartige Allround-Optionen für ein Linux-System, aber wenn Sie speziellere Bedürfnisse haben, möchten Sie vielleicht eine Debian-Alternative.