-
Notifications
You must be signed in to change notification settings - Fork 30
/
monitor.rs
42 lines (34 loc) · 1.17 KB
/
monitor.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
* Copyright 2017-2024 Ben Ashford
*
* Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
* http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
* <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
* option. This file may not be copied, modified, or distributed
* except according to those terms.
*/
use std::env;
use futures::{sink::SinkExt, stream::StreamExt};
use redis_async::{client, resp_array};
#[tokio::main]
async fn main() {
let addr = env::args()
.nth(1)
.unwrap_or_else(|| "127.0.0.1".to_string());
#[cfg(not(feature = "tls"))]
let mut connection = client::connect(&addr, 6379, None, None)
.await
.expect("Cannot connect to Redis");
#[cfg(feature = "tls")]
let mut connection = client::connect_tls(&addr, 6379, None, None)
.await
.expect("Cannot connect to Redis");
connection
.send(resp_array!["MONITOR"])
.await
.expect("Cannot send MONITOR command");
let mut skip_one = connection.skip(1);
while let Some(incoming) = skip_one.next().await {
println!("{:?}", incoming.expect("Cannot read incoming value"));
}
}