Redis Lua Script

Redis Lua Script

Redis é um banco de dados de memória de código aberto, amplamente adotado como um mecanismo de cache ou corretor de mensagens.

Embora seja muito versátil e extenso por padrão, permite que você estenda a funcionalidade usando seu intérprete de Lua incorporado. Isso significa que você pode escrever scripts escritos em Lua para executar operações adicionais em seu banco de dados Redis.

Requisitos

Para seguir melhor com este tutorial, recomendamos que a versão mais recente do servidor Redis em seu sistema.

O conhecimento básico do Redis é benéfico para entender os comandos ilustrados neste tutorial.

Comando Redis Eval

Para executar comandos Lua em Redis, você precisa usar o comando avaliação. O comando diz a Redis para executar o código como um script Lua do lado do servidor.

Um exemplo é como mostrado:

127.0.0.1: 6379> Eval "Redis.Call ('Set', Keys [1], Argv [1]) "1 Valor da chave

No exemplo acima, começamos com o comando de avaliação seguido de um script da Lua. O script usa o redis.Função de chamada. Em seguida, passamos o comando para ser executado, chave e valor como os argumentos. Isso é semelhante a correr valores de chave definida.

Observe que as chaves e o argv denotam os argumentos do script. Especificamos o número de chaves como 1 neste caso.

A análise de argumentos é feita através da argv, que mantém a tabela de argumentos. No nosso caso, passamos o valor da chave.

Podemos então acessar as chaves a partir do índice 1.

OBSERVAÇÃO: Recomenda -se especificar todas as chaves usadas no script sob teclas e todos os outros argumentos sob argv.

Podemos buscar o valor de uma chave usando o comando get:

127.0.0.1: 6379> Eval "Redis.Ligue para ('Get', Keys [1]) "1 chave

Isso deve retornar o valor da chave especificada.

Comando Redis Evalsha

Redis também fornece o comando avaliar para recuperar um comando com base em seu valor de hash.

Isso remove a necessidade de retratar o script toda vez que você precisar.

Exemplo:

Carga de script "Retorne redis.Ligue para ('Get', Keys [1]) "

O comando acima deve retornar um valor sha como:

"4E6D8FC8BB01276962CCE5371FA795A7763657AE"

Você pode então usar este valor sha para recordar um comando.

127.0.0.1: 6379> avaliar 4e6d8fc8bb01276962cce5371fa795a7763657e 1 chave
"valor"

Para remover todos os scripts carregados, execute o comando:

127.0.0.1: 6379> ROBRO DE SCRIPT
OK

O comando acima deve lavar o cache do script.

Conclusão

Este artigo descreve os comandos mais básicos a serem usados ​​ao trabalhar com o Script Lua em Redis. Verifique a documentação da Lua para descobrir mais.