Sentinel 兼容模式
更新时间 2025-12-13 11:40:01
最近更新时间: 2025-12-13 11:40:01
分布式缓存Redis有自研的高可用能力,因而不需要Sentinel模块。 但为了提高客户端的兼容性,可以开启Sentinel兼容模式, 用户可以使用跟开源Sentinel一样的方式连接分布式缓存Redis实例。
前提条件
实例类型必须是主备实例、读写分离实例或Proxy集群。 Cluster实例因其架构特性,不支持。
操作步骤
1. 登录Redis管理控制台
2. 在管理控制台右上角选择实例所在的区域。
3. 在需要查看的分布式缓存Redis缓存实例左侧,单击该实例的名称,进入实例的基本信息页面。
说明:在实例列表中可以查看租户当前地域所有实例。
4. 进入实例页后,单击“实例配置”,再点击”参数配置“。
5. 进入参数配置页面后,修改”sentinelCompatible“ 属性为"yes"。
6. 点击”实例详情“页面 , 在”连接信息“ 栏目可以看到”sentinel地址信息“ , 里面是sentinel的连接地址。
连接提示
Sentinel也需要密码登录, Sentinel密码跟实例的密码保持一致。
redis-cli连接方式
连接Sentinel 跟连普通Redis的方式是一样的,例如
redis-cli -h {ip} -p 30090 -a {password}连上后可以执行下面命令:
| 命令 | 功能 | 示例 |
|---|---|---|
| SENTINEL GET-MASTER-ADDR-BY-NAME <master name> | 获取主节点的地址 | SENTINEL GET-MASTER-ADDR-BY-NAME mymaster |
| SENTINEL MASTER <master name> | 获取主节点的详细信息 | SENTINEL MASTER mymaster |
Jedis的连接方式
Java 客户端Jedis支持基于Senitnel的方式连接, 本示例以Jedis的5.2.0版本为例:
String url = "";
String password = "";
try (JedisSentinelPool pool = new JedisSentinelPool("test", Collections.singleton(url), password, password)) {
try (Jedis jedis = pool.getResource()) {
jedis.set("1", "example");
}
} catch (Exception e) {
e.printStackTrace();
}