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

相关推荐
小白鸽i25 分钟前
【LINUX】将源码驱动文件编译并生效
linux·运维·服务器
闻哥43 分钟前
Redis 避坑指南:从命令到主从的全链路踩坑实录
java·数据库·redis·缓存·面试·springboot
做萤石二次开发的哈哈1 小时前
萤石开放平台 音视频 | 产品概述
运维·服务器·萤石云·萤石·萤石开放平台
0思必得01 小时前
[Web自动化] 处理爬虫异常
运维·爬虫·python·selenium·自动化·web自动化
小毅&Nora2 小时前
【后端】【Redis】② Redis事务管理全解:从“购物车结算“到“银行转账“,一文彻底掌握事务机制
数据库·redis·事务
China_Yanhy2 小时前
我的区块链运维日记 · 第 4 日:死掉的“活”节点 —— 攻克“同步滞后(Lag)”
运维·区块链
kida_yuan3 小时前
【Linux】说说我对 Wine 与 deepin-wine 的理解
linux·运维·wine
假女吖☌3 小时前
限流算法-redis实现与java实现
java·redis·算法
what丶k3 小时前
深度解析Redis LRU与LFU算法:区别、实现与选型
java·redis·后端·缓存
松涛和鸣3 小时前
DAY63 IMX6ULL ADC Driver Development
linux·运维·arm开发·单片机·嵌入式硬件·ubuntu