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脚本

相关推荐
运维全栈笔记12 小时前
基于Docker的MinIO单机部署与功能测试指南
运维·docker·容器
人道领域13 小时前
【黑马点评日记】:用户签到功能详解——从Bitmap入门到避坑指南
java·数据库·redis·后端
Gc9umsbL113 小时前
零基础学Linux:21天从“命令小白”到独立部署服务器
linux·运维·服务器
测试员周周13 小时前
【AI测试功能5】AI功能测试的“黄金数据集“构建指南:从0到1搭建质量评估体系
运维·服务器·开发语言·人工智能·python·功能测试·集成测试
骑着骆驼写程序13 小时前
Ubuntu上部署前端项目报500错误
linux·运维·ubuntu
心机之蛙qee13 小时前
docker的安装(RHEL9)
运维·docker·容器
徐子元竟然被占了!!14 小时前
TURN协议
运维
庞轩px14 小时前
第五篇:分布式锁实战——Lua脚本原子操作与库存扣减的强一致性
redis·lua·分布式锁·synchronized·原子性·零超卖
直奔標竿14 小时前
MySQL与Redis数据一致性实战方案(避坑指南)
java·数据库·spring boot·redis·mysql·spring·缓存
霍格沃兹测试学院-小舟畅学14 小时前
Browserbase Skills:让 Claude Code 具备浏览器自动化能力的开源框架
运维·开源·自动化