sql >> Base de Datos >  >> NoSQL >> Redis

Redis lua cuando realmente usarlo?

Guiones Lua están destinados a funcionar como MULTI comandos En realidad, la mayoría de los comandos que desarrollaría usando MULTI los comandos de un cliente de Redis se pueden implementar en Lua. Es decir, puede encapsular algunas operaciones complejas en un script y su capa de datos realizará la operación de escritura atómica. sin preocuparse por su estrategia de modelado de datos en Redis.

Además, los encuentro útiles cuando desea realizar operaciones de lectura rápidas pero complejas. Por ejemplo, es posible que desee ordenar los objetos. Los objetos se almacenan en una clave hash mientras que el orden está definido por una clave de conjunto ordenada . Obtiene un rango del llamado conjunto ordenado y obtiene objetos en hash usando hmget .

El punto más importante es que los scripts de Lua deben implementar cosas que puedan ejecutarse lo más rápido posible, ya que Redis bloqueará otras operaciones mientras se ejecuta un script de Lua. Es decir, debe realizar interrupciones rápidas o su rendimiento general de Redis disminuirá mucho.

Argumentos para no usar Lua

Yo diría que deberías usarlos cuando realmente los necesites. Por lo general, los clientes se desarrollan utilizando lenguajes de programación de alto nivel como C#, Java, JavaScript, Ruby... y brindan una mejor experiencia de desarrollo:buenos depuradores, IDE, finalización de código...

Resumen:debe usarlos si puede demostrar que hay un beneficio real (en el rendimiento) si convierte una parte de la lógica de su dominio en secuencias de comandos Redis Lua.