local mysql = require "resty.mysql"
local print = ngx.print
local ngx_null = ngx.null
local cjson = require "cjson"
local dogs = ngx.shared.dogs
local cachekey = "share2_key"
local body,flags = dogs:get(cachekey)
local res = body
if not res then
local db, err = mysql:new()
db:set_timeout(1000) -- 1 sec
local ok, err, errno, sqlstate = db:connect{
host = "127.0.0.1",
port = 3306,
database = "mysql",
user = "root",
password = "123456",
max_packet_size = 1024 * 1024 }
res, err, errno, sqlstate =
db:query("select * from mysql.user limit 31", 10)
if not res then
ngx.say("bad result: ", err, ": ", errno, ": ", sqlstate, ".")
return
end
local res = cjson.encode(res)
--print(res)
dogs:set(cachekey, res)
local body = res
end
--print(body)
if not body then
print('ab') --第一次走这里 body为什么是nil??
else
local obj = cjson.decode(body) --第二次之后是走缓存了Ok的
for i,v in pairs(obj) do
print(cjson.encode(v.Show_view_priv) .. "test111\n")
end
end