redis.eval을 사용하여 1.php에서 Lua 스크립트를 작동할 때 오류가 발생했습니다. 문제가 무엇인지 모르겠습니다.
설정된 값이 입력되었습니다. eval을 사용하여 lua를 호출하여 my:lock의 값이 이 값인지 감지하고 삭제하지만 이 단계가 잘못되었습니다. 살펴보도록 도와주실 수 있나요? 감사합니다.
我想大声告诉你2017-05-16 13:07:41
저는 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 스크립트, 키-값 쌍 수, 모든 키 이름 및 모든 값이기 때문입니다.
eval($script, 1, $a)
🎜 게다가 여기서 $a는 사실 배열이기 때문에 나눠서 전달해야 하는 거겠죠? 🎜eval(#script, 1, $a[0], $a[1])
🎜淡淡烟草味2017-05-16 13:07:41
이 로직을 구현하기 위해 PHP에서 Lua를 조정해야 하는 이유가 무엇인지 궁금합니다. PHP를 사용하여 redis에서 이 키의 값을 읽고 비교하면 원하는 논리를 실현할 수 있습니까?