Struct moka::unsync::CacheBuilder [−][src]
pub struct CacheBuilder<C> { /* fields omitted */ }
Expand description
Builds a Cache
with various configuration knobs.
Examples
use moka::unsync::CacheBuilder;
use std::time::Duration;
let mut cache = CacheBuilder::new(10_000) // Max 10,000 elements
// Time to live (TTL): 30 minutes
.time_to_live(Duration::from_secs(30 * 60))
// Time to idle (TTI): 5 minutes
.time_to_idle(Duration::from_secs( 5 * 60))
// Create the cache.
.build();
// This entry will expire after 5 minutes (TTI) if there is no get().
cache.insert(0, "zero");
// This get() will extend the entry life for another 5 minutes.
cache.get(&0);
// Even though we keep calling get(), the entry will expire
// after 30 minutes (TTL) from the insert().
Implementations
Construct a new CacheBuilder
that will be used to build a Cache
holding
up to max_capacity
entries.
Builds a Cache<K, V>
.
Panics
Panics if configured with either time_to_live
or time_to_idle
higher than
1000 years. This is done to protect against overflow when computing key
expiration.
Builds a Cache<K, V, S>
, with the given hasher
.
Panics
Panics if configured with either time_to_live
or time_to_idle
higher than
1000 years. This is done to protect against overflow when computing key
expiration.
Sets the initial capacity of the cache.
Sets the time to live of the cache.
A cached entry will be expired after the specified duration past from
insert
.
Panics
CacheBuilder::build*
methods will panic if the given duration
is longer
than 1000 years. This is done to protect against overflow when computing key
expiration.
Sets the time to idle of the cache.
A cached entry will be expired after the specified duration past from get
or insert
.
Panics
CacheBuilder::build*
methods will panic if the given duration
is longer
than 1000 years. This is done to protect against overflow when computing key
expiration.