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

相关推荐
元岳数字人小元5 分钟前
无惧网络受限:数字人私有化部署打造离线全域服务能力
运维·人工智能·开源·人机交互·交互
2601_9620632330 分钟前
从使用场景覆盖到品牌长期建设的内容解读
运维
此冬歌咏40 分钟前
K8s etcd 备份与恢复实战:误删命名空间后 37 秒恢复,5 个对象 UID 完全一致
运维
牢姐与蒯1 小时前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
景煜拾年1 小时前
RHCA-Docker知识点整理
运维·笔记
骇客野人9 小时前
Redis 完整安装部署方案(Linux,分【源码编译】+【Docker】两种,推荐生产用源码,测试快速用 Docker)
运维
Rain的Java大神之路11 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
Wang's Blog12 小时前
Java 接入Redis: 通用命令与键管理
java·服务器·redis
Wang's Blog12 小时前
Java 接入Redis: 列表集合与有序集合操作命令
java·服务器·redis
蓝速科技12 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技