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

相关推荐
一个天蝎座 白勺 程序猿6 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
分布式存储与RustFS9 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
陈希12310 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
@兽血沸腾11 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
讯捷蓝达16 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
我不会起名字32217 小时前
Redis 从 0 到 1(三十三):机器断电 Redis 起不来——AOF/RDB 损坏的 4 步抢救流程
redis·数据恢复·aof·rdb·排查
爱和冰阔落19 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
csdn_aspnet19 小时前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
lisanmengmeng19 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器