本文介绍: SCRIPT KILL 执行之后,当前正在运行的脚本会被杀死,执行这个脚本的客户端会从 EVAL 命令的阻塞当中退出,并收到一个错误作为返回值。这个命令主要用于终止运行时间过长的脚本,比如一个因为 BUG 而发生无限循环的脚本。Redis Script kill 命令用于杀死当前正在运行的 Lua 脚本,当且仅当这个脚本没有执行过任何写操作时,这个命令才生效。Redis 脚本关于使用 Redis 对 Lua 脚本进行求值的更多信息,请参见 EVAL 命令。
目录
1.Redis Script kill 命令 – 杀死当前正在运行的 Lua 脚本。
简介
SCRIPT KILL 执行之后,当前正在运行的脚本会被杀死,执行这个脚本的客户端会从 EVAL 命令的阻塞当中退出,并收到一个错误作为返回值。这个命令主要用于终止运行时间过长的脚本,比如一个因为 BUG 而发生无限循环的脚本。Redis Script kill 命令用于杀死当前正在运行的 Lua 脚本,当且仅当这个脚本没有执行过任何写操作时,这个命令才生效。Redis 脚本
语法
redis 127.0.0.1:6379> SCRIPT KILL
可用版本: >= 2.6.0
返回值: 总是返回 OK
示例
redis 127.0.0.1:6379> SCRIPT KILL
OK
2.Redis Script Load 命令 – 将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。
简介
关于使用 Redis 对 Lua 脚本进行求值的更多信息,请参见 EVAL 命令。脚本可以在缓存中保留无限长的时间,直到执行 SCRIPT FLUSH 为止。在脚本被加入到缓存之后,通过 EVALSHA 命令,可以使用脚本的 SHA1 校验和来调用这个脚本。如果给定的脚本已经在缓存里面了,那么不执行任何操作。EVAL 命令也会将脚本添加到脚本缓存中,但是它会立即对输入的脚本进行求值。Redis Script Load 命令用于将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。Redis 脚本
语法
redis 127.0.0.1:6379> SCRIPT LOAD script
可用版本: >= 2.6.0
返回值: 给定脚本的 SHA1 校验和
示例
redis 127.0.0.1:6379> SCRIPT LOAD "return 1"
"e0e1f9fabfc9d4800c877a703b823ac0578ff8db"
3.Redis Eval 命令 – 执行 Lua 脚本。
简介
Redis Eval 命令使用 Lua 解释器执行脚本。Redis 脚本
语法
redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]
可用版本: >= 2.6.0
返回值: Redis 脚本
示例
redis 127.0.0.1:6379> eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
1) "key1"
2) "key2"
3) "first"
4) "second"
4.Redis Evalsha 命令 – 执行 Lua 脚本。
简介
Redis Evalsha 命令根据给定的 sha1 校验码,执行缓存在服务器中的脚本。Redis 脚本
语法
redis 127.0.0.1:6379> EVALSHA sha1 numkeys key [key ...] arg [arg ...]
可用版本: >= 2.6.0
返回值: Redis 脚本
示例
redis 127.0.0.1:6379> SCRIPT LOAD "return 'hello moto'"
"232fd51614574cf0867b83d384a5e898cfd24e5a"
redis 127.0.0.1:6379> EVALSHA "232fd51614574cf0867b83d384a5e898cfd24e5a" 0
"hello moto"
5.Redis Script Exists 命令 – 查看指定的脚本是否已经被保存在缓存当中。
简介
Redis Script Exists 命令用于校验指定的脚本是否已经被保存在缓存当中。Redis 脚本
语法
redis 127.0.0.1:6379> EVALSHA sha1 numkeys key [key ...] arg [arg ...]
可用版本: >= 2.6.0
返回值: 一个列表,包含 0 和 1 ,前者表示脚本不存在于缓存,后者表示脚本已经在缓存里面了。
示例
redis 127.0.0.1:6379> SCRIPT LOAD "return 'hello moto'" # 载入一个脚本
"232fd51614574cf0867b83d384a5e898cfd24e5a"
redis 127.0.0.1:6379> SCRIPT EXISTS 232fd51614574cf0867b83d384a5e898cfd24e5a
1) (integer) 1
redis 127.0.0.1:6379> SCRIPT FLUSH # 清空缓存
OK
redis 127.0.0.1:6379> SCRIPT EXISTS 232fd51614574cf0867b83d384a5e898cfd24e5a
1) (integer) 0
6.Redis Script Flush 命令 – 从脚本缓存中移除所有脚本。
简介
Redis Script Flush 命令用于清除所有 Lua 脚本缓存。Redis 脚本
语法
redis 127.0.0.1:6379> SCRIPT FLUSH
可用版本: >= 2.6.0
返回值: 总是返回 OK
示例
redis 127.0.0.1:6379> SCRIPT FLUSH
OK
总结
原文地址:https://blog.csdn.net/gzu_01/article/details/135448719
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_53378.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。