杭州建站模板展示,毕设做网站答辩稿,自己做网站 赚钱,用自己头像做的圣诞视频网站第20章 Lua脚本
20.1 创建并修改Lua环境
20.1.1 创建Lua环境
服务器创建一个新的基本的Lua环境
20.1.2 载入函数库
修改Lua环境#xff0c;载入一些库函数
20.1.3 创建redis全局表格
全局变量#xff0c;支持在Lua脚本中执行redis命令
20.1.4 使用redis自制随机函数来…第20章 Lua脚本
20.1 创建并修改Lua环境
20.1.1 创建Lua环境
服务器创建一个新的基本的Lua环境
20.1.2 载入函数库
修改Lua环境载入一些库函数
20.1.3 创建redis全局表格
全局变量支持在Lua脚本中执行redis命令
20.1.4 使用redis自制随机函数来替换Lua随机函数
20.1.5 创建排序辅助函数
20.1.6 创建redis.pcall函数的错误报告辅助函数
20.1.7 保护Lua全局环境
可修改全局变量但不可以添加或删除
20.1.8 将Lua环境保存在redisServer的Lua中
20.2 Lua环境协作组件
20.2.1 伪客户端
Lua脚本通过redis.call或redis.pcall执行redis命令redis会创建伪客户端用于执行Lua脚本中的redis命令
20.2.2 lua_scripts字典
keyLua脚本SHAI校验和 valueLua脚本 载入过的Lua脚本会被保存
20.3 EVAL命令的实现
20.3.1 定义脚本函数
将脚本用Lua环境中的函数定义函数名为SHAI校验和
20.3.2 将脚本保存到lua_scripts字典
20.3.3 执行脚本函数
20.4 Evalsha命令的实现
通过校验和查找脚本
20.5 脚本管理命令的实现
20.5.1 script flush
重建脚本字典及重建lua环境
20.5.2 script exists
检查校验和是否存在于lua脚本字典中
20.5.3 script load
创建对应lua函数并存入脚本字典但与Eval不同他不会执行
20.5.4 script kill
在配置了超时钩子时若脚本执行已经超时则会检测是否有script kill或者shutdown命令若有则执行
20.6 脚本复制
主服务器会把脚本传播到从服务器并执行