Hello!
On Wed, Aug 20, 2014 at 6:22 PM, phonix.cao wrote:
> hello,你好,有个问题请教下:线上启用了opresty,
> 以前是lua redis,单点的,现在用redis的哨兵机制解决了web端单点问题,lua能直接调用sentinel的么?
>
你可以使用 lua-resty-redis 来调用 redis sentinel 服务(一般监听在 26379
端口)[1],毕竟该服务也使用的是 redis 的线路协议,只是命令比较特殊而已。
你可以使用 lua-resty-redis 的 add_commands 方法 [2] 自己添加 sentinel 的两种命令:
local redis = require "resty.redis"
redis.add_commands("ping", "sentinel")
然后再连接 sentinel 服务:
local red, err = redis:connect("127.0.0.1", 26379)
再直接调用其命令:
local slaves, err = red:sentinel("slaves", "my_master_name")
诸如此类。
或许我们也可以把这两个命令加到 lua-resty-redis 默认的 redis 命令列表中去 :)
Regards,
-agentzh
[1] http://redis.io/topics/sentinel
[2] https://github.com/openresty/lua-resty-redis#add_commands