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

¿Por qué hay matrices KEYS y ARGV al llamar a los scripts de Redis Lua?

Todas sus preguntas son respondidas en el EVAL página, pero ya que preguntaste...:

¿Cuál es la diferencia?

KEYS se usa para pasar nombres clave mientras que ARGS debe ser para cualquier otra cosa. Esto no se aplica exactamente (es decir, la mayoría de las veces estaría bien mezclarlos), pero podría generar problemas potenciales si no se sigue.

¿Cómo trata Redis los valores en la matriz KEYS?

El contenido de KEYS se verifican para verificar que todas las claves estén disponibles para el fragmento de Redis que ejecuta el script. Este mecanismo se implementó para permitir la ejecución de scripts en una implementación de clúster de Redis.

¿Qué pasa si, en mi secuencia de comandos, tengo que usar claves generadas dinámicamente en tiempo de ejecución?

Vea las respuestas anteriores:eso es factible, pero iría en contra de las recomendaciones. Su secuencia de comandos se ejecutará de forma segura solo en una instancia independiente de Redis y, dado que este comportamiento no está especificado, es posible que se rompa en versiones futuras.