1. 程式人生 > >lua+redis中的pipeline

lua+redis中的pipeline

red:init_pipeline()  

red:set("msg1", "hello1")  

red:set("msg2", "hello2")  

red:get("msg1")  

red:get("msg2")  

local respTable, err = red:commit_pipeline()  

--得到的資料為空處理  

if respTable == ngx.null then  

    respTable = {}  --比如預設值  

end  

--結果是按照執行順序返回的一個table  

for i, v in ipairs(respTable) do  

   ngx.say("msg : ", v, "<br/>")  

end  

通過init_pipeline()對pipeline初始化,然後通過commit_pipieline()打包提交init_pipeline()之後的Redis命令;

返回結果是一個lua table,可以通過ipairs迴圈獲取結果;

--結果是按照執行順序返回的一個table  

for i, v in ipairs(respTable) do  

   ngx.say("msg : ", v, "<br/>")  

end  

配置相應的location後,測試得到的結果

msg : OK msg : OK msg : hello1 msg : hello2