1.php中使用redis.eval操作lua脚本的时候,出错,不知道哪里问题,大家帮忙看一下谢谢
set 值进去了,使用eval调用lua去检测如果这个my:lock的值是这个值就删除,但这一步就是出错,大神们帮忙看一下,谢谢
php不太懂,但redis还是比较熟的,我猜是这里出的错。eval($script, $a, 1)因为redis默认eval命令的参数依次是:lua脚本,键值对个数,所有的键名,所有的值。我不知道php里的redis库有没有修改这个顺序,如果不对请忽略这个答案吧,否则你可以试试下面这样。eval($script, 1, $a)另外,这里$a是个数组,其实应该拆开来传值吧?eval(#script, 1, $a[0], $a[1])
eval($script, $a, 1)
eval($script, 1, $a)
eval(#script, 1, $a[0], $a[1])
好奇的是为什么需要在php中去调lua来实现这个逻辑呢?你用PHP从redis中读取这个key的值比较下不就可以实现你想要的逻辑吗。
php不太懂,但redis还是比较熟的,我猜是这里出的错。
eval($script, $a, 1)
因为redis默认eval命令的参数依次是:lua脚本,键值对个数,所有的键名,所有的值。
我不知道php里的redis库有没有修改这个顺序,如果不对请忽略这个答案吧,否则你可以试试下面这样。
eval($script, 1, $a)
另外,这里$a是个数组,其实应该拆开来传值吧?
eval(#script, 1, $a[0], $a[1])
好奇的是为什么需要在php中去调lua来实现这个逻辑呢?你用PHP从redis中读取这个key的值比较下不就可以实现你想要的逻辑吗。