25 个版本
0.5.6 | 2020 年 8 月 3 日 |
---|---|
0.5.5 | 2019 年 11 月 26 日 |
0.5.4 | 2019 年 5 月 28 日 |
0.5.3 | 2019 年 1 月 29 日 |
0.5.1 | 2018 年 7 月 23 日 |
#150 in 缓存
每月 56 次下载
用于 qui-vive
45KB
1K SLoC
mouscache-rs
一个小型库,用于使用 Redis 或内存缓存操作对象
基本用法
use mouscache;
#[derive(Cacheable, Clone, Debug)]
struct YourData {
field1: u16,
field2: String,
}
fn main() {
let data = YourData {
field1: 42,
field2: String::from("Hello, World!"),
};
if let Ok(mut cache) = mouscache::redis("localhost", None) {
let _ = cache.insert("test", data.clone());
let data2: YourData = cache.get("test").unwrap();
assert_eq!(data.field1, data2.field1);
assert_eq!(data.field2, data2.field2);
}
}
自定义要缓存的项
Mouscache 现在支持 2 个自定义属性来自定义条目
expires
属性
指定条目无效的秒数
use mouscache;
#[derive(Cacheable, Clone, Debug)]
#[cache(expires="10")] // each entry of type YouCustomDataType will be valid 10 sec.
struct YouCustomDataType {
yourPrecious_field: String
}
rename
属性
指定用于插入条目的名称
use mouscache;
#[derive(Cacheable, Clone, Debug)]
#[cache(rename="ThisNameIsCooler")] // each entry of type YouCustomDataType will be inserted with ThisNameIsCooler
struct YouCustomDataType {
yourPrecious_field: String
}
##TODO
- 添加对具有命名字段的
struct
的支持 - 添加数据属性
- 添加对无名称字段的 support
- 添加对
enum
的支持
依赖关系
~6–12MB
~144K SLoC