2、linux命令行中执行:# 指定lua脚本路径,后面可跟上参数,与redis-cli中不同,此处不需要指定keys的数量,但是需要用英文逗号隔开keys和argv参数,逗号前后至少保留1个空格,否则报错redis-cli -a password --eval ./sadd_script.lua subjects , mathredis-cli -a password --eval ./sadd_script.lua subjects , history
lua脚本中定义自己需要的业务代码,demo:
local setname = keys[1]local setvalue = argv[1]if string.len(setname) > 0 and string.len(setvalue) > 0then return redis.call('sadd', setname, setvalue)else return 0end
3、php代码中执行:<?php$redis = new redis();$redis->connect('192.168.1.201', 6379);$redis->auth('123456');$script = <<<eof return redis.call('lpush', keys[1], argv[1])eof;$key1 = 'goods_list';$value1 = mt_rand(10000, 99999);//eval($script, $args = array(), $numkeys = 0),numkeys声明args参数中keys数量,剩下的则都为argv参数$res = $redis->eval($script, [$key1, $value1], 1);var_dump($res);
以上就是redis脚本命令执行问题实例分析的详细内容。
