The Lua scripting support (EVAL) does not perfectly emulate the environment available to a real redis script. Some known differences are:
- Libraries such as cjson are not loaded
- Setting of global variables is only checked each time a redis function is called, rather than being enforced by a metatable.
- dofile and readfile are not disabled.
- Various functions on the redis object are not implemented e.g.
redis.sha1hex, redis.log
- It doesn't prevent mutating commands after a random command (this will be a major task since it requires knowing which commands are mutating and/or random).
- The random seed might not be reset with every script (untested)
For more details see the redis documentation and implementation.
The Lua scripting support (EVAL) does not perfectly emulate the environment available to a real redis script. Some known differences are:
redis.sha1hex,redis.logFor more details see the redis documentation and implementation.