美文网首页
Redis学习之路(8)命令 -Redis 脚本

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

作者: William_Wei007 | 来源:发表于2018-09-03 15:51 被阅读15次
    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 脚本

          本文链接:https://www.haomeiwen.com/subject/kbfiwftx.html