add by zhj : Lua与Multi/EXEC的功能比较像,在执行过程中,redis不会执行其它命令,这就不会有并发访问的问题, 这是非常好的.但Multi/EXEC要求所有命令都是独立的,后面的命令无法知道前面的命令是否执行成功,因为redis中并没有if等语句, 使用Lua可以解决这个问题,简单的说,Lua脚本就是一个函数,你可以判断每一步的执行结果.当然, 无论是Multi/EXEC还是Lua虽然在执行过程中,都没有自动回滚的功能,这点达不到关系数据库的事务原子性. 翻译:http…