Lua+mysql+idea配置多个访问端口(02)

博客提到在UserLua.lua代码中配置了两个数据源,与信息技术相关,涉及代码配置数据源的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UserLua.lua:

--将所有的用户插入redis中
local function close_db(db)
    if not db then
        return
    end
    db:close()
end
local mysqloss = require("resty.mysql") --连接数据库oss
local mysqlums = require("resty.mysql") --连接数据库ums
local json = require ("dkjson")--导入json包

local function searchRedis( key, value)
    local redis = require("resty.redis")
    ngx.header.content_type="application/json;charset=utf8"
    --创建实例
    local redis_instance = redis:new()
    --设置超时(毫秒)
    redis_instance:set_timeout(3000)
    --建立连接
    local host = "127.0.0.1"
    local port = 6379
    local ok, err = redis_instance:connect(host, port)
    if not ok then
        ngx.say("connect to redis error : ", err)
        return close_redis(redis_instance)
    end
        local resp, err = redis_instance:set(key,value);
end

local function selectoss(select_oss)
    local dboss, err = mysqloss:new()
    if not dboss then
        ngx.say("new mysql error : ", err)
        return
    end
    dboss:set_timeout(10000)
    local propsoss = {
        host = "127.0.0.1",
        port = 3306,
        database = "oss",
        user = "appuser",
        password = "appuser"
    }
    local resoss, err, errno, sqlstate = dboss:connect(propsoss)
    ngx.say(select_oss)
    if not resoss then
        ngx.say("connect to mysql error : ", err, " , errno : ", errno, " , sqlstate : ", sqlstate)
        return close_db(dboss)
    end

    resoss, err, errno, sqlstate = dboss:query(select_oss)
    if not resoss then
        ngx.say('shenmewanyi')
    end
    local jsonresoss=json.encode (resoss)
    --searchRedis(value,jsonresoss)
    ngx.say(jsonresoss,'22222',"<br/>",table.getn(resoss))
    --check(flagone)
end


local function insertsql()
local dbums, err = mysqlums:new()
if not dbums then
    ngx.say("new mysql error : ", err)
    return
end
dbums:set_timeout(100000)

local propsums = {
    host = "127.0.0.1",
    port = 3306,
    database = "ums",
    user = "appuser",
    password = "appuser"
}

local resums, err, errno, sqlstate = dbums:connect(propsums)
if not resums then
    ngx.say("connect to mysql error : ", err, " , errno : ", errno, " , sqlstate : ", sqlstate)
    return close_db(dbums)
end



local function check(eee)
    ngx.say(eee,'<br/>')
end
local select_ums = "select uf.user_id,uf.user_number from user_info uf where  uf.user_status = 1 || 2 ORDER BY id"
resums, err, errno, sqlstate = dbums:query(select_ums)
ngx.say(select_ums)
if not resums then
    ngx.say("select error ums: ", err, " , errno : ", errno, " , sqlstate : ", sqlstate)
    return close_db(dbums)
end
    --local all={}
    local flagone=""
    local flagtwo=","
    for i, row in ipairs(resums) do
    for name, value in pairs(row) do
        --ngx.say("select row ", i, " : ", name, " = ", value, type(value) ,"<br/>")
        if name=="user_number" then
            flagone = value..flagtwo..flagone
            end
    end
    end
    flagone = flagone.sub(flagone,1,string.len(flagone)-1)--字符串截取
  -- searchoss(ccq)
    --查询oss表数据
    local select_oss = "select id,pid,usertoken from oss_order_form oof where oof.usertoken in ("..flagone..")"
    ngx.say(select_oss)
    selectoss(select_oss)
end
insertsql()--程序入口
ngx.say("<br/>")

 在代码中我配置了两个数据源

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值