A simple k-v pair storage trait, including the implementation of dashmap and redis.
Depending on this crate via cargo:
[dependencies]
storage-trait = "0.1.1"
You can build a dashmap storage object implmenting storage trait by using methods below: ``` use storage_trait::{DashMapStorageBuilder, Storage};
fn setget() { let storage = DashMapStorageBuilder::new().build(); let _ = storage .set("name".tostring(), "Ferris".tostring()) .unwrap(); let resp = storage.get("name".tostring()).unwrap(); println!("resp: {:?}", resp); }
output:
resp: Some("Ferris")
```
Build a redis storage object: ``` use storage_trait::{RedisStorageBuilder, Storage};
fn setcontains() { let storage = RedisStorageBuilder::new() .addr("redis://127.0.0.1:6379") .build(); let _ = storage .set("name".tostring(), "Ferris".tostring()) .unwrap(); let resp = storage.contains("name".tostring()).unwrap(); println!("resp: {:?}", resp); }
output:
resp: true
```