Redis学习之路(8)命令 -Redis 脚本

Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。

這章还需要深入了解一下 ,没看懂。

Redis Eval 命令使用 Lua 解释器执行脚本。

1   EVAL script numkeys key [key ...] arg [arg ...] 
执行 Lua 脚本。

    没懂-已提问到百度。。 等待大神回复ing
2   EVALSHA sha1 numkeys key [key ...] arg [arg ...] 
执行 Lua 脚本。
    -- 执行命令
    127.0.0.1:6379[1]> SCRIPT LOAD "return 'hello'"
    --返回结果
    "1b936e3fe509bcbc9cd0664897bbe8fd0cac101b"

    127.0.0.1:6379[1]> evalsha "1b936e3fe509bcbc9cd0664897bbe8fd0cac101b" 0
    "hello"
   
3   SCRIPT EXISTS script [script ...] 
查看指定的脚本是否已经被保存在缓存当中。

4   SCRIPT FLUSH 
从脚本缓存中移除所有脚本。

脚本3、4的例子:
   127.0.0.1:6379[1]> script exists "1b936e3fe509bcbc9cd0664897bbe8fd0cac101b"
   1) (integer) 1
   127.0.0.1:6379[1]> script flush
   OK
   127.0.0.1:6379[1]> script exists "1b936e3fe509bcbc9cd0664897bbe8fd0cac101b"
   1) (integer) 0
   
5   SCRIPT KILL 
杀死当前正在运行的 Lua 脚本。
    Redis Script kill 命令用于杀死当前正在运行的 Lua 脚本,当且仅当这个脚本没有执行过任何写操作时,这个命令才生效。

    这个命令主要用于终止运行时间过长的脚本,比如一个因为 BUG 而发生无限循环的脚本。

    SCRIPT KILL 执行之后,当前正在运行的脚本会被杀死,执行这个脚本的客户端会从 EVAL 命令的阻塞当中退出,并收到一个错误作为返回值

6   SCRIPT LOAD script 
将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。


你可能感兴趣的:(Redis学习之路(8)命令 -Redis 脚本)