Redis LUA JIT的执行过程是什么样的?

Redis LUA JIT的执行过程是什么样的?

展开
收起
vncamyi27xznk 2021-12-24 09:14:35 722 分享 版权
1 条回答
写回答
取消 提交回答
  • 下面的示意图表示了一次脚本的执行过程,客户端调用EVAL script之后会产生SCRIPT Load的行为,Lua JIT开始编译生成字节码,这时产生一个SHA字符串,表示 bytecode的缓存。Loading bytecode之后,开始执行脚本,还需要保证在副本上执行成功,最后unload和Cleaning,整个过程结束。 image.png

    示意图中有3个火形图标,表示耗费CPU的程度,脚本的compile-load-run-unload非常耗费CPU。整个lua相当于把复杂事务推送到Redis中执行,如果稍有不慎CPU会爆,引擎算力耗光后挂住redis。

    答复内容摘自《Redis最佳实践与实战指南》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1212

    2021-12-24 10:14:48
    赞同 展开评论

数据库领域前沿技术分享与交流

收录在圈子:
+ 订阅
让用户数据永远在线,让数据无缝的自由流动
还有其他疑问?
咨询AI助理