Redis -Modullast und Entladen

Redis -Modullast und Entladen

Redis -Module erklärt

Standardmäßig bietet Redis mehrere Datentypen und enorme Befehle, um diese Datenstrukturen zu betreiben. Mit dem Wachstum der Komplexität moderner Anwendungen nimmt die Nachfrage nach den neuen Redisbefehlen und -strukturen zu.

Redis -Module sollen diese Lücke zwischen den vorhandenen Redis -Funktionen und der zunehmenden Nachfrage nach neuen Funktionsanforderungen schließen. Sie können die vorhandenen Redis -Funktionen durch neue Befehle und Datenstrukturen verbessern, die erweiterte Funktionen liefern, ohne den Redis -Kerncode zu ändern.

Die meisten Redismodule werden in C -Sprache geschrieben, indem die C -API als einzelne Header -Datei namens „Redismodule“ exportiert wird.H". Darüber hinaus können Sprachen wie C ++, die C -Bindungen unterstützen, zur Implementierung der Redis -Module verwendet werden.

Die angegebene Abbildung auf hoher Ebene zeigt, wie sich die Module unter Verwendung der Module-API in den Redis-Kern integrieren. Darüber hinaus wurden die meisten Anstrengungen in der Modules -API unternommen. Es wird abtrkt und isoliert die Redis-Interna aus den Modulen und fungiert als C-Bindungsvertrag des Servers. Darüber hinaus ist ein Modul im Redis -Kern mit einer bestimmten Modul -API -Version registriert.

Als Beispiel können Sie Ihre eigenen erstellen HALLO WELT Modul mit a DRUCKEN Befehl über dem Echo -Befehl, der vom Redis -Kern stammt. Es sieht aus wie folgt:

Wie Sie in der Abbildung sehen können, können Sie mit Hilfe der Module -API immer die Redis -Kernbefehle und Datenstrukturen aufrufen oder die vorhandene Funktionalität mit Ihrem eigenen Befehl oder Ihrer Struktur wie in verbessern Die Helloworld Modul.

Der größte Teil der Arbeit ist mit der Modul -Implementierung mit C -Sprache, indem die Module -API bei Bedarf konsumiert werden. Dann geht es darum, das kompilierte Modul zur Laufzeit auf den Redis -Server zu laden oder die Redis zu verwenden.DEF -Konfigurationsdateianweisung.

In diesem Leitfaden konzentrieren wir uns nicht auf die Modulentwicklung mit C oder C ++, sondern diskutieren mehr über das Laden und Entladen der verfügbaren Redis -Module. Einige der weit verbreiteten Redis -Module sind im Folgenden aufgeführt:

  • Redisearch - Volltext -Suche
  • Redsijson - Der JSON -Datentyp für Redis
  • Redisgraph - eine Diagrammdatenbank für Redis
  • Neural Redis - ein neuronales Netzwerk

Redis -Modul Laden und Entladen

Heute finden Sie eine Reihe von vorentwickelten Modulen in der REDIS-Modulbibliothek, die für verschiedene Zwecke und Anforderungen entwickelt werden. Um ein oder mehrere Module in Ihrer Anwendung zu konsumieren, muss es zuerst auf den Redis -Server geladen werden.

Befehl redis modul lastet

Der Befehl modullast ist ein integrierter Redisbefehl, mit dem ein bestimmtes Modul aus einer dynamischen Bibliothek geladen werden kann. Darüber hinaus führt dieser Befehl auch den Modulinitialisierungsprozess durch. Dieser Befehl akzeptiert ein Pfadargument, das den Speicherort der Modulbibliothek mit dem Modulnamen angibt. Am wichtigsten ist, dass der Befehl eine konstante Zeitkomplexität hat, die schnell funktioniert.

Syntax:

Modul Load Module_Path [arg [arg…]]

Module_Path: Der absolute Speicherpfad zur Bibliothek mit dem Moduldateinamen.

Arg: Zusätzliche Argumente können an das Modul übergeben werden, es ist jedoch nicht obligatorisch.

Vor dem Laden des Moduls ist es ein Muss, den Modulquellcode und das Erstellen zu klonen, das eine “erzeugt.Also "Datei. Das ".So muss der Ort der Datei als die bereitgestellt werden Weg Streit.

Wenn das Modul ordnungsgemäß geladen ist, das OK Die String -Antwort wird zurückgegeben.

Andererseits muss möglicherweise auch ein belastetes Modul entladen werden. In diesem Fall kann das Modulentladen zur Laufzeit mit dem Befehl modul entladen erfolgen.

Befehl zum Entladen von Redis -Modul entladen

Der Befehl modul entladen steckt ein bereits geladenes Redis -Modul vom Server aus. Dieser Befehl akzeptiert nur ein obligatorisches Argument, das der Name des Moduls ist. Der Name des Moduls sollte derjenige sein, der vom Befehl modullist gemeldet wird. Es ist also wichtig zu bedenken.

Syntax:

Modul -Entlade -Module_Name

Modulname: Der vom Befehl Modullisten angegebene Modulname wie im folgenden angegebenen Befehl:

Eine Sache zu beachten ist, dass die benutzerdefinierten Datenstrukturen, die mit einem Modul registriert sind.

Abschluss

Abschließend werden Redis -Module verwendet, um die Funktionalität der Redis -Kernbefehle und -strukturen zu erweitern. Wie bereits erwähnt, ist ein Modul eine einzelne Einheit, die auf den vorhandenen REDIS-Befehl (n) oder Struktur (n) unter Verwendung von C-Bindungssprachen wie C oder C basiert ist++. Es verwendet die Redis -Module -API stark, um mit Kern und anderen Modulen zu kommunizieren. Entsprechend der angegebenen Erklärung muss es zur Verwendung eines bereits implementierten Redis -Moduls in Ihrer Anwendung verwendet werden, indem es zur Laufzeit mit dem Befehl modullast geladen werden muss. In ähnlicher Weise erfolgt das Entladen durch den Befehl modul entladen.