Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Por que existem matrizes KEYS e ARGV ao chamar scripts Redis Lua?


Todas as suas perguntas são respondidas no EVAL página, mas já que você perguntou...:

Qual é a diferença?

KEYS é usado para passar nomes de chaves enquanto ARGS deve ser para qualquer outra coisa. Isso não é exatamente aplicado (ou seja, na maioria das vezes você ficaria bem em misturá-los), mas pode levar a possíveis problemas se não for seguido.

Como o Redis trata os valores na matriz KEYS?

O conteúdo de KEYS são verificados para verificar se todas as chaves estão disponíveis para o fragmento do Redis que está executando o script. Esse mecanismo está em vigor para permitir a execução de scripts em uma implantação de cluster Redis.

E se, no meu script, eu tiver que usar chaves geradas dinamicamente em tempo de execução?

Veja as respostas anteriores - isso é possível, mas você iria contra as recomendações. Seu script será seguro para ser executado apenas em uma instância autônoma do Redis e, como esse comportamento não é especificado, ele pode ser interrompido em versões futuras.