zoukankan      html  css  js  c++  java
  • PHP中使用redis执行lua脚本示例

    摸索了一下在PHP中如何使用redis执行lua脚本,写了一个脚本如下,供以后参考

    <?php
    $redis = new Redis(); #实例化redis类
    $redis->connect('127.0.0.1'); #连接服务器
    
    $lua = <<<SCRIPT
          return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}
    SCRIPT;
    //对应的redis命令如下 eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
    $s = $redis->eval($lua,array('key1','key2','first','second'),2);
    var_dump($s);
    
    
    
    
    $redis->close(); #关闭连接
    ?>
    

      这个执行的对应命令如下:

    eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second

    解释: "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 是被求值的 Lua 脚本,数字 2 指定了键名参数的数量, key1 和 key2 是键名参数,分别使用 KEYS[1] 和 KEYS[2] 访问,而最后的 first 和 second 则是附加参数,可以通过 ARGV[1] 和 ARGV[2] 访问它们。

    PHP中使用redis拓展执行脚本时,eval方法的参数 3个,第一个是脚本代码,第二个是一个数组,参数数组,第三个参数是个整数,表示第二个参数中的前几个是key参数,剩下的都是附加参数
  • 相关阅读:
    centos7 源码安装python3
    gitlab 迁移
    gitlab 搭建
    亚伦史沃茨 公开信
    误删了sudo包怎么办
    在中国历史上,我个人最喜欢的三个皇帝
    安装PHP7
    Mac OS上设置Django开发环境
    The Pragmatic Programmer Quick Reference Guide
    Nginx的第一个模块-HelloWorld
  • 原文地址:https://www.cnblogs.com/taijun/p/5007329.html
Copyright © 2011-2022 走看看