OpenResty中resty.redis不支持Redis集群,求Lua官方支持工具
回答
- OpenResty官方并未推出专门支持Redis集群的Lua工具,但社区有成熟的第三方方案可以满足需求。
- 最常用的是
resty.rediscluster,它和官方resty.redis的API风格一致,上手门槛低,支持Redis Cluster的分片、故障转移等核心特性,完全适配OpenResty运行环境。 - 简单使用示例:
local redis_cluster = require "resty.rediscluster" -- 配置集群节点列表及参数 local cluster_config = { name = "demo_cluster", serv_list = { { ip = "192.168.1.10", port = 7000 }, { ip = "192.168.1.11", port = 7001 }, { ip = "192.168.1.12", port = 7002 } }, keepalive_timeout = 60000, keepalive_poolsize = 50 } -- 初始化集群客户端 local red_cli, err = redis_cluster:new(cluster_config) if not red_cli then ngx.log(ngx.ERR, "连接Redis集群失败: ", err) return end -- 执行GET操作 local val, err = red_cli:get("test_key") if err then ngx.log(ngx.ERR, "获取数据失败: ", err) return end -- 释放连接到连接池 red_cli:set_keepalive() - 注意:使用前需确保OpenResty环境中已安装该库,部分版本可能需要与特定Redis Cluster版本兼容,建议参考库的说明文档完成配置。
内容的提问来源于stack exchange,提问作者flower
相关产品推荐
相关产品推荐

