PHP의 Redis 작업은 lua를 사용하지만 일관되게 실행될 수 없습니다. 모두가 살펴보도록 도와주세요.
習慣沉默
習慣沉默 2017-05-16 13:05:41
0
2
744

redis.eval을 사용하여 1.php에서 Lua 스크립트를 작동할 때 오류가 발생했습니다. 문제가 무엇인지 모르겠습니다.

설정된 값이 입력되었습니다. 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에서 이 키의 값을 읽고 비교하면 원하는 논리를 실현할 수 있습니까?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿