From 4cd931425cb13358d597357cefe8f822fb6ea84c Mon Sep 17 00:00:00 2001 From: ticbh Date: Sun, 23 Jun 2024 21:32:33 +0800 Subject: [PATCH] fix cache --- examples/lru.rs | 2 ++ src/cache/lru.rs | 3 +++ 2 files changed, 5 insertions(+) diff --git a/examples/lru.rs b/examples/lru.rs index 4d60e80..9109223 100644 --- a/examples/lru.rs +++ b/examples/lru.rs @@ -1,6 +1,7 @@ use algorithm::LruCache; +#[cfg(feature="ttl")] fn run_ttl() { let mut lru = LruCache::new(3); lru.insert_with_ttl("help", "ok", 1); @@ -20,5 +21,6 @@ fn main() { assert_eq!(lru.get("this"), Some(&"lru")); assert_eq!(lru.get("now"), None); + #[cfg(feature="ttl")] run_ttl(); } diff --git a/src/cache/lru.rs b/src/cache/lru.rs index aa8a8f4..73c2bd5 100644 --- a/src/cache/lru.rs +++ b/src/cache/lru.rs @@ -165,6 +165,7 @@ impl LruCache { } /// 获取当前检查lru的间隔 + #[cfg(feature="ttl")] pub fn get_check_step(&self) -> u64 { self.check_step } @@ -174,6 +175,7 @@ impl LruCache { /// 如果数据太大的话遍历一次可能会比较久的时长 /// 一次清理时间复杂度O(n) /// 仅仅在插入时触发检查,获取时仅检查当前元素 + #[cfg(feature="ttl")] pub fn set_check_step(&mut self, check_step: u64) { self.check_step = check_step; self.check_next = get_timestamp() + self.check_step; @@ -642,6 +644,7 @@ impl LruCache { /// 插入带有生存时间的元素 /// 每次获取像redis一样,并不会更新生存时间 /// 如果需要更新则需要手动的进行重新设置 + #[cfg(feature="ttl")] #[inline(always)] pub fn insert_with_ttl(&mut self, k: K, v: V, ttl: u64) -> Option { self.has_ttl = true;