世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
关于redis对lua脚本的支持,这里简单描述一下
上图是执行效果
过程是这样的:
1. 执行eval命令
2. lua环境将 "return 'hello world'" 封装成 f_... 的脚本函数
3. 然后执行返回
不仅如此,lua脚本还可以通过redis.call和redis.pcall执行redis命令
过程如下
1. lua通过执行redis.call将redis命令传到伪客户端
2. 伪客户端将命令传给命令执行器
3. 命令执行器处理后将结果返回给伪客户端
4. 伪客户端将执行结果返回给lua环境的redis.call
更多细节,关注公众号