我发现redis应用程序从其REST API(使用redis库)返回错误结果(0,而不是5)。
在我通过Go运行此查询的代码中,我运行:
println("LLEN HANDLER")
infoL := HandleError(pool.Get(0).Do("LLEN","xyz")).(int64)
lengthJSON := HandleError(json.MarshalIndent(infoL, "", " ")).([]byte)
print("RETURN LEN = "+string(lengthJSON))
rw.Write(lengthJSON)
返回0.
但是,如果我从redis-cli(在奴隶上或在主人身上)运行查询
LLEN xyz
我得到正确的结果。结果是5.
特别是,我正在使用https://github.com/xyproto/simpleredis,我注意到在同一个应用中,所有形式的查询都是:
list := simpleredis.NewList(pool, key)
//members := HandleError(list.GetAll()).([]string)
members := HandleError(list.GetLastN(4)).([]string)
正常工作并返回非空数据,这确认了系统中的网络连接等正在运行。
答案 0 :(得分:0)
simpleredis在运行查询之前运行SELECT [dbindex]
命令。
如果您在SELECT
之前运行LLEN
吗?