开发者社区 > 数据库 > 正文

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

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

展开
收起
vncamyi27xznk 2021-12-24 09:14:35 666 0
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
    赞同 展开评论 打赏

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

相关产品

  • 云数据库 Tair(兼容 Redis)
  • 相关电子书

    更多
    ApsaraDB for Redis——与创客同行 立即下载
    微博的Redis定制之路 立即下载
    云数据库Redis版的开源之路 立即下载