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

Redis lua quando realmente usá-lo?


Scripts Lua devem funcionar como MULTI comandos. Na verdade, a maioria dos comandos que você desenvolveria usando MULTI comandos de um cliente Redis podem ser implementados em Lua. Ou seja, você pode encapsular algumas operações complexas em um script e sua camada de dados executará a operação de gravação atômica sem se preocupar com sua estratégia de modelagem de dados no Redis.

Além disso, acho-os úteis quando você deseja executar operações de leitura rápidas, mas complexas. Por exemplo, você pode querer colocar os objetos em ordem. Os objetos são armazenados em uma chave de hash enquanto a ordem é definida por uma chave de conjunto ordenada . Você obtém um intervalo do chamado conjunto classificado e obtém objetos em hash usando hmget .

O ponto mais importante é que os scripts Lua devem implementar coisas que possam ser executadas o mais rápido possível, pois o Redis bloqueará outras operações enquanto um script Lua estiver em execução. Ou seja, você precisa realizar interrupções rápidas ou seu desempenho geral do Redis diminuirá muito.

Argumentos para não usar Lua


Eu diria que você deve usá-los quando realmente precisar deles. Normalmente, os clientes são desenvolvidos usando linguagens de programação de alto nível como C#, Java, JavaScript, Ruby... e proporcionam uma melhor experiência de desenvolvimento:bons depuradores, IDE, code-completion...

Resumo:você deve usá-los se puder provar que há um benefício real (no desempenho) se você transformar alguma parte da lógica do seu domínio em scripts Redis Lua.