我用了一箱又一箱的铁锈。我正在使用集群模式,并不断尝试使用无限循环来获取某个密钥。然而,当我杀死存储该密钥的主节点时,程序会遇到“Broken pipe(os error 32)”并崩溃。
我希望它能继续运行,并从新主人(被杀主人的前一个奴隶)那里获得钥匙。
use std::error::Error;
use redis::Commands;
use redis::cluster::ClusterClient;
fn main() -> Result<(), Box> {
let nodes = vec!["redis://127.0.0.1:7000/","redis://127.0.0.1:7001/", "redis://127.0.0.1:7002/","redis://127.0.0.1:7003/", "redis://127.0.0.1:7004/", "redis://127.0.0.1:7005/"];
let client = ClusterClient::new(nodes)?;
let mut con = client.get_connection()?;
loop {
let a : String =con.get("test")?;
}
Ok(())
}
然后我docker杀死了密钥“测试”的主节点,
我得到的错误是
出现错误:管道破裂(操作系统错误32)
提前谢谢。