Skip to content

Commit fa67f52

Browse files
committed
设置带有ttl的Lru
1 parent 948d805 commit fa67f52

File tree

7 files changed

+288
-34
lines changed

7 files changed

+288
-34
lines changed

.vscode/settings.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
{
2-
"cmake.configureOnOpen": true
2+
"cmake.configureOnOpen": true,
3+
"rust-analyzer.cargo.features": [
4+
"ttl"
5+
],
36
}

Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ opt-level = 3
2424
debug = true
2525

2626
[features]
27-
hashbrown=[]
27+
hashbrown=[]
28+
ttl=[]

examples/lru.rs

+11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11

22
use algorithm::LruCache;
3+
4+
fn run_ttl() {
5+
let mut lru = LruCache::new(3);
6+
lru.insert_with_ttl("help", "ok", 1);
7+
assert_eq!(lru.len(), 1);
8+
std::thread::sleep(std::time::Duration::from_secs(1));
9+
assert_eq!(lru.get("help"), None);
10+
assert_eq!(lru.len(), 0);
11+
}
312
fn main() {
413
let mut lru = LruCache::new(3);
514
lru.insert("now", "ok");
@@ -10,4 +19,6 @@ fn main() {
1019
assert_eq!(lru.get("hello"), Some(&"algorithm"));
1120
assert_eq!(lru.get("this"), Some(&"lru"));
1221
assert_eq!(lru.get("now"), None);
22+
23+
run_ttl();
1324
}

0 commit comments

Comments
 (0)