Redis Sentinel 命令¶
redis-py 可以与 Redis Sentinel 一起使用来发现 Redis 节点。您需要至少运行一个 Sentinel 守护进程才能使用 redis-py 的 Sentinel 支持。
连接示例(假设 redis redis 在下面列出的端口上)
>>> from redis import Sentinel
>>> sentinel = Sentinel([('localhost', 26379)], socket_timeout=0.1)
>>> sentinel.discover_master('mymaster')
('127.0.0.1', 6379)
>>> sentinel.discover_slaves('mymaster')
[('127.0.0.1', 6380)]
-
class
redis.commands.sentinel.
SentinelCommands
[source]¶ 包含特定于 redis sentinal 的命令的类。此类用作 mixin。
-
sentinel_ckquorum
(new_master_name)[source]¶ 检查当前 Sentinel 配置是否能够达到故障转移主服务器所需的仲裁数量,以及授权故障转移所需的多数数量。
此命令应在监控系统中使用,以检查 Sentinel 部署是否正常。
-
sentinel_failover
(new_master_name)[source]¶ 强制执行故障转移,就好像主服务器不可访问一样,并且无需向其他 Sentinel 请求同意(但是,将发布新版本的配置,以便其他 Sentinel 更新其配置)。
-
sentinel_flushconfig
()[source]¶ 强制 Sentinel 将其配置重写到磁盘,包括当前 Sentinel 状态。
通常,Sentinel 每次其状态发生变化时都会重写配置(在跨重启持久保存到磁盘的状态子集的上下文中)。但是,有时配置丢失可能是由于操作错误、磁盘故障、软件包升级脚本或配置管理器造成的。在这些情况下,强制 Sentinel 重写配置文件的方法非常有用。
即使之前的配置文件完全丢失,此命令也能正常工作。
-