expire_cache 0.1.25

High-performance generational cache for Rust / 高性能分代缓存
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/// Async get or init macro / 异步获取或初始化宏
#[macro_export]
macro_rules! get_or_init_async {
  ($cache:expr, $key:expr, $init:expr) => {{
    let key = $key;
    match $cache.get(key) {
      Some(v) => Ok(v),
      None => {
        let val = $init().await?;
        $cache.insert(key.to_owned(), val.clone());
        Ok(val)
      }
    }
  }};
}