Redis Lua Scripting

Redis Lua Scripting

Redis ist eine kostenlose Datenbank für Open-Source-In-Memory.

Obwohl es standardmäßig sehr vielseitig und umfangreich ist, können Sie die Funktionalität mit seinem eingebetteten Lua -Dolmetscher erweitern. Dies bedeutet, dass Sie Skripte schreiben können, die in LUA geschrieben wurden, um zusätzliche Vorgänge in Ihrer Redis -Datenbank auszuführen.

Anforderungen

Um diesem Tutorial besser zu folgen, haben wir empfohlen, die neueste Version des Redis -Servers auf Ihrem System zu haben.

Grundlegendes Rediswissen ist von Vorteil, um die in diesem Tutorial dargestellten Befehle zu verstehen.

Redis Eval -Befehl

Um Lua -Befehle in Redis auszuführen, müssen Sie den Befehl eval verwenden. Der Befehl fordert Redis an, den Code als serverseitiges LuA-Skript auszuführen.

Ein Beispiel ist wie gezeigt:

127.0.0.1: 6379> eval "Redis.Anruf ('Set', Keys [1], Argv [1]) "1 Schlüsselwert

Im obigen Beispiel beginnen wir mit dem Befehl evaly, gefolgt von einem Lua -Skript. Das Skript verwendet die Redis.Anruffunktion. Anschließend übergeben wir den Befehl, um als die Argumente auszuführen, zu tasten und zu schätzen. Dies ähnelt dem Ausführen der Set -Schlüsselwerte.

Beachten Sie, dass Schlüssel und Argv die Argumente des Skripts bezeichnen. Wir geben die Anzahl der Schlüssel als 1 in diesem Fall an.

Das Argument -Parsen erfolgt über den Argv, der die Argumententabelle enthält. In unserem Fall bestehen wir den Wert des Schlüssels.

Wir können dann auf die Tasten aus dem Index 1 zugreifen.

NOTIZ: Es wird empfohlen, alle im Skript unter Schlüssel verwendeten Schlüsseln und alle anderen Argumente unter Argv anzugeben.

Wir können den Wert eines Schlüssels mit dem Befehl GET abrufen:

127.0.0.1: 6379> eval "Redis.Rufen Sie an ('get', Keys [1]) "1 Schlüssel

Dies sollte den Wert des angegebenen Schlüssels zurückgeben.

Redis Evalsha -Befehl

Redis bietet Ihnen auch den Befehl evalsha, um einen Befehl basierend auf seinem Hash -Wert abzurufen.

Dies beseitigt die Notwendigkeit, das Skript jedes Mal wieder aufzunehmen, wenn Sie es benötigen.

Beispiel:

Skript laden "return Redis.Rufen Sie an ('Get', Keys [1]) "

Der obige Befehl sollte einen SHA -Wert als:

"4e6d8fc8bb01276962CCE5371FA795A7763657AE"

Sie können diesen SHA -Wert dann verwenden, um einen Befehl abzurufen.

127.0.0.1: 6379> evalsha 4e6d8fc8bb01276962CCE5371FA795A7763657AE 1 Schlüssel
"Wert"

Führen Sie den Befehl aus, um alle geladenen Skripte zu entfernen:

127.0.0.1: 6379> Skript Flush
OK

Der obige Befehl sollte den Skript -Cache spülen.

Abschluss

Dieser Artikel beschreibt die grundlegendsten Befehle, die bei der Arbeit mit Lua Scripting in Redis verwendet werden müssen. Überprüfen Sie die LUA -Dokumentation, um mehr zu finden.