4 releases
0.2.1 | Nov 23, 2019 |
---|---|
0.2.0 | Nov 22, 2019 |
0.1.1 | Nov 23, 2019 |
0.1.0 | Nov 16, 2019 |
#2765 in Database interfaces
50KB
638 lines
redis-ac
Asynchronous version of redis::Commands
trait.
Get/set
use futures::prelude::*;
use redis_ac::Commands;
fn main() {
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
let f = client
.get_async_connection()
.and_then(|con| {
con.set("key", "value")
.and_then(|(con, s): (_, String)| {
assert_eq!(s, "OK");
con.get("key")
})
.map(|(_, s): (_, String)| {
assert_eq!(s, "value");
})
})
.map_err(|e| panic!("{}", e));
tokio::run(f);
}
Scan
use futures::prelude::*;
use redis_ac::Commands;
fn main() {
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
let f = client
.get_shared_async_connection()
.and_then(|con| {
con.scan_match("key*")
.filter_map(|(_, item)| item)
.for_each(|item: String| {
// Here we get items.
println!("{}", item);
Ok(())
})
}).map_err(|e| panic!("{}", e));
tokio::run(f);
}
Dependencies
~6MB
~131K SLoC