在redis中set一个空值,比如:redis 127.0.0.1:6379> set somekey ""
red:get("somekey")
然后直接报错:
lua handler aborted: runtime error: /usr/local/openresty/lualib/resty/
redis.lua:132: bad argument #1 to 'receive' (bad pattern argument)
尝试着在redis.lua库中做些修改:
local size = tonumber(sub(line, 2))
if size < 0 then ----> 改为 if size <= 0 then 就OK了
return null
end
local data, err = sock:receive(size)
if not data then
return nil, err
end