<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                提供再Lua中反查數據的能力,基于Binlog的數據同步工具,只能監聽到單表行數據的變更。無法像基于SQL的ETL工具那樣具有多表連接(join)的能力。如果要得到聚合數據,需要使用dbOps模塊。 # **示例** t_user表,數據如下: ![](https://img.kancloud.cn/66/6b/666b781251a07831305126e22f76c5a4_713x51.jpg) t_area表,數據如下: ![](https://img.kancloud.cn/eb/c8/ebc8ca2d6a36beb2ffc934cc2d06d542_266x75.jpg) Lua腳本: ``` -- t_user_dbclient.lua local ops = require("redisOps") --加載redis操作模塊 local json = require("json") --加載json模塊 local db = require("dbOps") --加載數據庫操作模塊 local row = ops.rawRow() --當前數據庫的一行數據,table類型,key為列名稱 local action = ops.rawAction() --當前數據庫事件,包括:insert、updare、delete local result = {} -- 定義一個table,作為結果 if action == "insert" then -- 只監聽插入事件 SADD( local areaId = row["AREA_ID"] --獲取區域AREA_ID列的值 -- SQL語句,不能直接使用表名,要使用(數據庫名稱.表名稱),如:ESEAP.T_AREA local sql = string.format("SELECT * FROM ESEAP.T_AREA WHERE ID = '%s'",areaId) -- 執行SQL查詢,返回一條查詢結果,table類型;結構如:{"ID":"340100000000","NAME":"安徽省 合肥市"} local rs = db.selectOne(sql) local areaName = rs["NAME"] --區域名稱 local id = row["ID"] --獲取row ID列的值 result["id"] = id result["action"] = action result["userName"] = row["USER_NAME"] --獲取row USER_NAME列的值,賦給結果集 result["password"] = row["PASSWORD"] --獲取row USER_NAME列的值,賦給結果集 result["createTime"] = row["CREATE_TIME"] --獲取row CREATE_TIME列的值,賦給結果集 result["source"] = "binlog" -- 數據來源 result["areaId"] = areaId result["areaName"] = areaName local key = "db_lua_test_"..id -- 定義key local val = json.encode(result) -- 將result轉為json ops.SET(key,val) -- 對應Redis的SET命令,第一個參數為key(支持string類型),第二個參數為value end ``` 引入腳本: ``` #目標類型 target: redis # 支持redis、mongodb、elasticsearch、rocketmq、kafka、rabbitmq #規則配置 rule: - schema: eseap #數據庫名稱 table: t_user #表名稱 #order_by_column: id #排序字段,存量數據同步時不能為空 lua_file_path: lua/t_user_dbclient.lua #lua腳本文件 #lua_script: #lua 腳本 ``` 同步到Redis的數據如下: ![](https://img.kancloud.cn/0c/ba/0cbaecdae3dbb80ce09cb8d24559e544_476x305.jpg) # **dbOps模塊** 提供的方法如下: 1、selectOne(sql) 查詢一條數據,返回table類型的結果;如果查詢不到數據,返回空table;如果查詢到多個結果,會出錯 2、select(sql) 查詢多條數據,返回數組類型的結果,數組元素為tablem(格式如:[table1,table2]);查詢不到結果,返回空table;
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看