#set #timed #ttl

timed_set

Rust中一个简单的定时集合,用于存储给定时间段的元素

4个版本

0.0.4 2022年6月7日
0.0.3 2022年6月7日
0.0.2 2022年6月7日
0.0.1 2022年6月7日

#9 in #timed

每月 44次下载

自定义许可

11KB
124

定时集合

Linux Arm7 Linux x86_64 macOS intel Windows

Rust中一个简单的定时集合,用于存储给定时间段的元素。

用法

[dependencies]
timed_set = "0.0.4"

示例

use timed_set::TimedSet;
use std::{time::Duration, thread::sleep};

fn main() {
    let mut ts = TimedSet::new(Duration::from_secs(3));
    ts.add("element_1");
    assert!(ts.contains(&"element_1"));
    sleep(Duration::from_secs(3));
    assert!(!ts.contains(&"element_1"));
}

特定元素的自定义 ttl

use timed_set::TimedSet;
use std::{time::Duration, thread::sleep};

fn main() {
    let mut ts = TimedSet::new(Duration::from_secs(3));
    ts.add("element_1");
    ts.add("element_2", Duration::from_secs(10));   // element with custom ttl
    assert!(ts.contains(&"element_1"));
    assert!(ts.contains(&"element_2"));
    
    sleep(Duration::from_secs(3));
    assert!(!ts.contains(&"element_1"));    // expired
    assert!(ts.contains(&"element_2"));
    
    sleep(Duration::from_secs(8));
    assert!(!ts.contains(&"element_2"));    // expired
}

许可:MIT

无运行时依赖