5 个版本
0.1.4 | 2022 年 8 月 3 日 |
---|---|
0.1.3 | 2022 年 8 月 1 日 |
0.1.2 | 2022 年 7 月 31 日 |
0.1.1 | 2022 年 7 月 25 日 |
0.1.0 | 2022 年 7 月 24 日 |
#2751 在 数据库接口
12KB
311 行
storage-trait
一个简单的 k-v 对存储特质,包括 dashmap 和 redis 的实现。
通过 cargo 使用此 crate
[dependencies]
storage-trait = "0.1.4"
支持 Dashmap
您可以使用以下方法构建一个实现存储特质的 dashmap 存储对象
use storage_trait::{DashMapStorageBuilder, Storage};
fn set_get() {
let storage = DashMapStorageBuilder::new().build();
let _ = storage
.set("name".to_string(), "Ferris".to_string())
.unwrap();
let resp = storage.get("name".to_string()).unwrap();
println!("resp: {:?}", resp);
}
输出
resp: Some("Ferris")
Redis 支持(单节点)
构建 Redis 存储对象
use storage_trait::{RedisStorageBuilder, Storage};
fn set_contains() {
let storage = RedisStorageBuilder::new()
.addr("redis://127.0.0.1:6379")
.build();
let _ = storage
.set("name".to_string(), "Ferris".to_string())
.unwrap();
let resp = storage.contains("name".to_string()).unwrap();
println!("resp: {:?}", resp);
}
输出
resp: true
依赖关系
~4–10MB
~121K SLoC