aapplication.lua
-- ngx.header_content_type='text/plain'
--ngx.say(123)
local ngx_re_split=require("ngx.re").split
local ip_addr = ngx.shared.redis_cluster_addr:get('redis-addr')
ip_addr = ngx_re_split(ip_addr,',')
local redis_addr = {}
for key, value in ipairs(ip_addr) do
local value1 = ngx_re_split(value,"😊
redis_addr[key]={ip=value1[1],port=value1[2]}
end
local config = {
name = "testCluster", --rediscluster name
--[[serv_list = { --redis cluster node list(host and port),
{ ip = "120.78.64.28", port = 7001 },
{ ip = "120.78.64.28", port = 7002 },
{ ip = "120.78.64.28", port = 7003 },
{ ip = "120.78.64.28", port = 7004 },
{ ip = "120.78.64.28", port = 7005 },
{ ip = "120.78.64.28", port = 7006 }
},]]
serv_list = redis_addr,
keepalive_timeout = 60000, --redis connection pool idle timeout
keepalive_cons = 1000, --redis connection pool size
connect_timeout = 1000, --timeout while connecting
max_redirection = 5, --maximum retry attempts for redirection
max_connection_attempts = 1, --maximum retry attempts for connection
auth = "sixstar" --set password while setting auth
}
local redis_cluster = require "rediscluster"
local red_c = redis_cluster:new(config)
local mykey = "name"
local uri_args=ngx.req.get_uri_args()
uri_args = uri_args['mykey']
if mykey ~= nil then
mykey = uri_args
end
local v, err = red_c:get(mykey)
if err then
ngx.log(ngx.ERR, "err: ", err)
else
ngx.say(v)
end