local parser = require "redis.parser"
local server, typ = parser.parse_reply(res.body)
if typ ~= parser.BULK_REPLY or not server then
    ngx.log(ngx.ERR, "bad redis response: ", res.body)
    ngx.exit(500)
end

parser.parse_reply 并没有成功解析redis的返回

nginx日志

2020/04/29 11:38:58 [error] 13159#0: *56 [lua] access_by_lua(nginx.conf:109):24: bad redis response: +OKM
+OKM
$6M
media2M

    已解决 。希望给碰到同样的人提供一点帮助
    因我的redis经历了输入密码 选库 所有会有两个ok。不可以使用parse_reply。要用parse_replies.
    n 代表 redis 执行过的内容
    最后一个reply[1] 是redisget取出来的值。 赋值nginx变量。

    n = {
    {"auth","XX"},
    {"select",X},
    {"get",XX}
    }

                local results = parser.parse_replies(res.body,#n)
                for i, reply in ipairs(results) do
                    ngx.var.target =  reply[1]
                end
    2 years later
    Write a Reply...