当我把这段代码通过Redis EVAL运行时,它没有返回任何结果。你知道为什么会出现这种情况吗?
redis-cli EVAL "$(cat bug.lua)" 0
bug.lua
local retv = {}
retv["test"] = 1000
return retv
如果我初始化表格,那么只有这个值会被打印出来。
$ cat bug.lua
--!/usr/bin/env lua
local retv = {"This", "is", "a", "bug" }
retv["test"] = 1000
return retv
$ redis-cli EVAL "$(cat bug.lua)" 2 a b
1) "This"
2) "is"
3) "a"
4) "bug"
local msg = "hi"; return msg
,它能正常工作吗?如果你 cat 一个不存在的文件,会得到错误消息吗?你正在返回对表的引用,而不是表的字符串表示形式,Redis 知道如何显示引用(实质上是指针)吗? - Oliver