php中redis操作,使用lua,但一致执行不了,帮忙大家看一下
習慣沉默
習慣沉默 2017-05-16 13:05:41
0
2
694

1.php中使用redis.eval操作lua脚本的时候,出错,不知道哪里问题,大家帮忙看一下谢谢

set 值进去了,使用eval调用lua去检测如果这个my:lock的值是这个值就删除,但这一步就是出错,大神们帮忙看一下,谢谢

習慣沉默
習慣沉默

全部回复(2)
我想大声告诉你

php不太懂,但redis还是比较熟的,我猜是这里出的错。
eval($script, $a, 1)eval($script, $a, 1)
因为redis默认eval命令的参数依次是:lua脚本,键值对个数,所有的键名,所有的值。
我不知道php里的redis库有没有修改这个顺序,如果不对请忽略这个答案吧,否则你可以试试下面这样。
eval($script, 1, $a)
另外,这里$a是个数组,其实应该拆开来传值吧?
eval(#script, 1, $a[0], $a[1])因为redis默认eval命令的参数依次是:lua脚本,键值对个数,所有的键名,所有的值。

我不知道php里的redis库有没有修改这个顺序,如果不对请忽略这个答案吧,否则你可以试试下面这样。🎜eval($script, 1, $a)🎜另外,这里$a是个数组,其实应该拆开来传值吧?🎜eval(#script, 1, $a[0], $a[1])🎜
淡淡烟草味

好奇的是为什么需要在php中去调lua来实现这个逻辑呢?你用PHP从redis中读取这个key的值比较下不就可以实现你想要的逻辑吗。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板