如何为redis-cli命令设置超时?

num*_*s1x 3 redis redis-sentinel redis-cli

我有一个健康检查,我正在尝试使用redis-cli命令从redis服务器远程执行redis-sentinels.

redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing
Run Code Online (Sandbox Code Playgroud)

有一个逻辑可以判断是否存在仲裁,除非哨兵的网络接口不可用,否则一切正常.在这种情况下,redis-cli命令无限期挂起,即使有两个具有法定人数的健康哨兵,健康检查也会失败.

我似乎无法找到一种方法来为客户端的redis-cli设置超时,以防止它挂起.有没有办法使用redis-cli来执行此操作,或者我是否必须在命令之外执行以确保它不会无限期挂起?

num*_*s1x 8

我决定使用该timeout命令来包装redis-cli命令.它似乎对我的目的非常有用!

timeout 3 redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing
Run Code Online (Sandbox Code Playgroud)