Redis Lua Scripting

Redis Lua Scripting

Redis è un database in memoria open-source gratuito ampiamente adottato come meccanismo di memorizzazione nella cache o broker di messaggi.

Sebbene sia molto versatile ed esteso per impostazione predefinita, consente di estendere la funzionalità usando il suo interprete LUA incorporato. Ciò significa che è possibile scrivere script scritti in LUA per eseguire operazioni aggiuntive sul tuo database Redis.

Requisiti

Per seguire meglio questo tutorial, abbiamo raccomandato di avere l'ultima versione del server Redis sul tuo sistema.

La conoscenza di base Redis è utile per comprendere i comandi illustrati in questo tutorial.

Comando Redis Eval

Per eseguire i comandi LUA in Redis, è necessario utilizzare il comando Eval. Il comando dice a Redis di eseguire il codice come script LUA sul lato server.

Un esempio è come mostrato:

127.0.0.1: 6379> Eval "Redis.Chiama ('set', tasti [1], argv [1]) "1 valore chiave

Nell'esempio sopra, iniziamo con il comando Eval seguito da uno script LUA. Lo script usa il Redis.Chiama la funzione. Passiamo quindi il comando per eseguire, chiave e valore come argomenti. Questo è simile all'esecuzione dei valori della chiave imposta.

Si noti che le chiavi e l'argv indicano gli argomenti della sceneggiatura. Specifichiamo il numero di chiavi come 1 in questo caso.

L'analisi dell'argomento viene eseguita tramite l'argv, che contiene la tabella degli argomenti. Nel nostro caso, passiamo il valore della chiave.

Possiamo quindi accedere alle chiavi a partire dall'indice 1.

NOTA: Si consiglia di specificare tutte le chiavi utilizzate nello script in tasti e tutti gli altri argomenti ai sensi dell'argv.

Possiamo recuperare il valore di una chiave usando il comando get:

127.0.0.1: 6379> Eval "Redis.Chiama ('get', tasti [1]) "1 tasto

Ciò dovrebbe restituire il valore della chiave specificata.

Comando Redis Evasha

Redis ti fornisce anche il comando Evasha per ricordare un comando basato sul suo valore hash.

Questo rimuove la necessità di revisionare lo script ogni volta che ne hai bisogno.

Esempio:

Carico script "restituisce redis.Call ('Get', Keys [1]) "

Il comando sopra dovrebbe restituire un valore SHA come:

"4E6D8FC8BB01276962cce5371FA795A7763657AE"

È quindi possibile utilizzare questo valore SHA per ricordare un comando.

127.0.0.1: 6379> Evasha 4E6D8FC8BB01276962cce5371FA795A7763657AE 1
"valore"

Per rimuovere tutti gli script caricati, eseguire il comando:

127.0.0.1: 6379> Script flush
OK

Il comando sopra dovrebbe scaricare la cache dello script.

Conclusione

Questo articolo descrive i comandi più elementari da utilizzare quando si lavora con lo scripting LUA in Redis. Controlla la documentazione LUA per scoprire di più.