1. 程式人生 > >Redis連線池設定及測試結果

Redis連線池設定及測試結果

設定redis連線池分為如下幾步:

1. 首先在nginx.conf檔案中的http節點下新增如下upstream節點

 upstream redis_pool {

          server 127.0.0.1:6660; #redis-serverip和埠

         keepalive 1024;

   }

2. 其次在nginx.conf檔案的server節點下新增location節點

location /get_redis {

                set_unescape_uri $query $arg_query;

                redis2_raw_query $query;

               redis2_pass redis_pool;

  }

3. 最後編寫一個redisManager

lua指令碼

RedisManager = {}
RedisManager.runCommand = {}
local metatable = {
__call = function(table , ...)
command = nil
args = ''
for key, value in ipairs({...}) do
if not command then 
command = value
else
args = args .. " " .. value;
end
end
command = command .. " " .. args .. '\r\n'
-- return command
local res = ngx.location.capture("/get_redis",{ 
args = { query = command}
})
return res.body
end
}
setmetatable(RedisManager.runCommand, metatable);
return RedisManager

4. 這樣,在lua程式碼中就可以通過require("RedisManager") 使用了

5. 我的測試程式碼

local RedisManager = require("RedisManager")

RedisManager.runCommand("set", "dog", "hhhh")

ngx.say(RedisManager.runCommand("get", "dog"))

6. 壓力測試結果: