Redis supporta lo scripting lua. Usando il comando eval, possiamo eseguire uno script lua in redis. Lo script lua è compilato o interpretato quando redis chiama uno script lua?Lua chiamata da redis viene interpretata o compilata?
risposta
Gli script Lua inviati alla libreria Lua per l'esecuzione vengono sempre compilati con le istruzioni di Lua VM prima dell'esecuzione. Queste istruzioni vengono quindi interpretate da Lua VM.
Qui http://intro2libsys.info/introduction-to-redis/lua-scripting è scritto che redis ha un interprete lua. Significa che quando redis effettua una chiamata per eseguire uno script lua, viene interpretato e non compilato? – Ridhima
Redis avvolge il tuo script in una funzione e usa ['luaL_loadbuffer'] (http://www.lua.org/manual/5.1/manual.html#luaL_loadbuffer) come puoi vedere [qui] (https: // github. com/antirez/Redis/blob/902b877/src/scripting.C# L850-L865). – deltheil
Buono a sapersi! E la compilazione dovrebbe essere eseguita una sola volta, in quanto si invia solo SHA1 per le successive chiamate lua. – zenbeni
Cosa credi che la differenza tra questi due sarebbe in questo caso? Quale domanda stai davvero cercando di chiedere? –