pub struct DocCacheTtl {
pub crate_docs_secs: u64,
pub search_results_secs: u64,
pub item_docs_secs: u64,
pub jitter_ratio: f64,
}Expand description
Document cache TTL configuration
Configure independent TTL for different document types.
§Fields
crate_docs_secs: Crate document cache duration (seconds)search_results_secs: search results cache duration (seconds)item_docs_secs: item docs cache duration (seconds)jitter_ratio: TTL jitter ratio(0.0-1.0),used to prevent cache stampede
Fields§
§crate_docs_secs: u64Crate document TTL (seconds)
search_results_secs: u64Search results TTL (seconds)
item_docs_secs: u64Item documentation TTL (seconds)
jitter_ratio: f64TTL jitter ratio (0.0-1.0), default 0.1 (10%)
Actual TTL = base_ttl * (1 + random(-jitter_ratio, jitter_ratio))
for example:base_ttl=3600, jitter_ratio=0.1 => Actual TTL range [3240, 3960]
Implementations§
Source§impl DocCacheTtl
impl DocCacheTtl
Sourcepub fn from_cache_config(config: &CacheConfig) -> Self
pub fn from_cache_config(config: &CacheConfig) -> Self
Sourcepub fn apply_jitter(&self, base_ttl: u64) -> u64
pub fn apply_jitter(&self, base_ttl: u64) -> u64
Sourcepub fn crate_docs_duration(&self) -> Duration
pub fn crate_docs_duration(&self) -> Duration
Get TTL duration for crate docs with jitter applied
Sourcepub fn search_results_duration(&self) -> Duration
pub fn search_results_duration(&self) -> Duration
Get TTL duration for search results with jitter applied
Sourcepub fn item_docs_duration(&self) -> Duration
pub fn item_docs_duration(&self) -> Duration
Get TTL duration for item docs with jitter applied
Trait Implementations§
Source§impl Clone for DocCacheTtl
impl Clone for DocCacheTtl
Source§fn clone(&self) -> DocCacheTtl
fn clone(&self) -> DocCacheTtl
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DocCacheTtl
impl Debug for DocCacheTtl
Source§impl Default for DocCacheTtl
impl Default for DocCacheTtl
impl Copy for DocCacheTtl
Auto Trait Implementations§
impl Freeze for DocCacheTtl
impl RefUnwindSafe for DocCacheTtl
impl Send for DocCacheTtl
impl Sync for DocCacheTtl
impl Unpin for DocCacheTtl
impl UnsafeUnpin for DocCacheTtl
impl UnwindSafe for DocCacheTtl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more