扫码关注官方订阅号
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中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
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的值比较下不就可以实现你想要的逻辑吗。