redis运维(二十一)redis 的扩展应用 lua(三)

一 redis 的扩展应用 lua

redis加载lua脚本文件

调试lua脚本

redis-cli 通过管道 --pipe 快速导入数据到redis中

② 预加载方式

bash 复制代码
1、'错误'方式
bash 复制代码
2、'正确'方式
bash 复制代码
++++++++++  "案例讲解"  ++++++++++

③ 一次性加载

bash 复制代码
执行'命令': 

  redis-cli -a '密码' --eval Lua脚本路径 'key [key ...]' ,  'arg [arg ...]'
 
如:redis-cli -a 123456 --eval ./wzj.lua name , wzj lisi 1

注意: 

 1、'--eval' 是选项,'而不是'redis命令模式中的"eval"

 2、脚本路径后 '紧跟' key [key ...],相比命令行模式,'少了numkeys'这个'key数量值'

 3、key [key ...] 和 arg [arg ...] 之间的" , ",英文'逗号前后'必须有'空格',否则死活'报错'

二 注意事项

④ 全局变量 使用local局部变量

⑤ 脚本缓存

⑥ 纯函数脚本

bash 复制代码
备注: 像在redis的lua脚本中执行'os.time()会报错','不支持os类库'

⑦ 最大执行时间

bash 复制代码
1)lua脚本'不宜'编写一些过于'复杂耗时'的逻辑,保证'lua脚本的效率',不要'影响其它客户端'

2)务必保证lua脚本的'健壮性',因为lua脚本'执行异常时',已经执行的逻辑是'不会回滚'的

⑧ 管道上下文中的EVALSHA

⑨ redis中可使用的lua库

⑩ redis-cli执行lua脚本

相关推荐
Brilliantwxx2 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
richdata3 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
weixin_416667964 小时前
【无标题】
运维·服务器·网络
一池秋_4 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
上海云盾-小余6 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠6 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
戴西软件6 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d
接着奏乐接着舞。7 小时前
【2026】73道Redis 常见面试题与参考答案
数据库·redis·后端·缓存
我命由我123457 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime
姚不倒8 小时前
Nginx 反向代理:5 种负载均衡策略与实战
运维·nginx·负载均衡