5 个不稳定版本
0.3.0 | 2024 年 1 月 6 日 |
---|---|
0.2.2 | 2023 年 9 月 24 日 |
0.2.1 | 2023 年 8 月 10 日 |
0.2.0 | 2023 年 8 月 9 日 |
0.1.0 | 2023 年 8 月 9 日 |
#187 在 缓存
每月 33 次下载
22KB
304 代码行
EphemerOpt
EphemerOpt 是 Rust 的一个短暂 Option
。创建时,这个 EphemeralOption
会接受一个过期时间和一个值,在时间耗尽后,EphemeralOption
将恢复为 None
。
这可以用于缓存值而不是重新运行昂贵的计算来获取它们。请参阅示例,以了解使用 CPU 数据和消息传递的实际应用。
lib.rs
:
EphemerOpt 是 Rust 的一个短暂 Option
。创建时,这个 EphemeralOption
会接受一个过期时间和一个值,在时间耗尽后,EphemeralOption
将恢复为 None
。
示例
use ephemeropt::EphemeralOption;
let mut num_opt = EphemeralOption::new(0, std::time::Duration::from_secs(1));
// Will only go up to 10, because every other call will be cached
for _ in 0..=20 {
match num_opt.get() {
Some(&num) => println!("{num}"),
None => {
let prev_num = num_opt.get_expired().unwrap();
let num = num_opt.insert(prev_num + 1);
println!("{num}");
}
}
std::thread::sleep(std::time::Duration::from_millis(500));
}