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

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的值比較下不就可以實現你想要的邏輯嗎。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板