lua 的eval
- script: lua脚本
- numkeys: key的个数
- key: redis中数据结构的替代符号 (大写)
- arg: 传入redis中的参数 (大写)
例如:1
eval "return (keys[1],keys[2],argv[1],argv[2])" 2 username age jack 20
lua 使用redis 命令: call()
1 | eval "return redis.call('set',KEYS[1],'ABCDE')" 1 name -- 给name存入了ABCDE |
EVALSHA 与eval区别: 增加缓存,生成摘要,执行摘要
- script flush : 清除所有脚本缓存
- script exists : 根据跟定脚本的校验,检查指定的脚本是否存在与脚本缓存.
- script load : 将一个脚本装入脚本缓存,
返回sha1摘要
,但不立即运行. - script kill : 杀死当前正在运行的脚本.
reids-cli 的 –eval ,直接执行lua脚本文件.