Redis lua_client 伪客户端生命周期
admin
2024-02-12 05:33:55

在《Redis 设计与实现》一书中,第13章关于伪客户端的描述:

Lua脚本的伪客户端:服务器会在初始化时创建负责执行Lua脚本中包含的Redis命令的伪客户端,并将这个伪客户端关联在服务器状态结构的lua_client属性中。lua_client伪客户端在服务器运行的整个生命期中会一直存在,只有服务器被关闭时,这个客户端才会被关闭。

AOF文件的伪客户端:服务器在载入aof文件时,会创建用于执行AOF文件包含的redis命令的伪客户端,并在载入完成之后,关闭这个伪客户端。

问题:为什么lua_client伪客户端在服务器运行的整个生命期中会一直存在?

在查了些资料后,个人关于 lua_client 的生命周期的理解是这样的:

版本:自2.6.0起可用。

时间复杂度:取决于执行的脚本。

使用Lua脚本的好处:

  • 减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延。
  • 原子操作。redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。因此在编写脚本的过程中无需担心会出现竞态条件,无需使用事务。
  • 复用。客户端发送的脚步会永久存在redis中,这样,其他客户端可以复用这一脚本而不需要使用代码完成相同的逻辑。

(参考来源:Redis如何使用lua脚本实例教程-面圈网)

因为脚本执行可能是个频繁的操作,当需要的时候不必每次执行都重新创建客户端,所以就会一直保留,直到服务器关闭。

相关内容

热门资讯

中国卫星(600118.SH)... 格隆汇12月29日丨中国卫星(600118.SH)公布,2025年12月29日,公司股票以涨停价收盘...
亿晶光电陷1.4亿元投资款追责... 图片来源:图虫12月28日晚间,亿晶光电(600537.SH)披露公告称,公司近日收到安徽全椒经济开...
天风证券控股股东控股地位稳固,...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 12月29日,天风证...
贾玉柱,被查 (来源:上观新闻)1、安徽省经济发展促进中心原主任贾玉柱,被查 安徽省经济发展促进中心原主任贾玉柱涉...
江苏华阳智能装备董监高及特定股... 江苏华阳智能装备股份有限公司(以下简称“公司”)于2025年12月30日披露公告称,公司董事於建东、...