Struct foyer_memory::CacheBuilder
source · pub struct CacheBuilder<K, V, L, S>{ /* private fields */ }Implementations§
source§impl<K, V> CacheBuilder<K, V, DefaultCacheEventListener<K, V>, RandomState>
impl<K, V> CacheBuilder<K, V, DefaultCacheEventListener<K, V>, RandomState>
source§impl<K, V, L, S> CacheBuilder<K, V, L, S>
impl<K, V, L, S> CacheBuilder<K, V, L, S>
sourcepub fn with_shards(self, shards: usize) -> Self
pub fn with_shards(self, shards: usize) -> Self
Set in-memory cache sharding count. Entries will be distributed to different shards based on their hash. Operations on different shard can be parallelized.
sourcepub fn with_eviction_config(
self,
eviction_config: impl Into<EvictionConfig>
) -> Self
pub fn with_eviction_config( self, eviction_config: impl Into<EvictionConfig> ) -> Self
Set in-memory cache eviction algorithm.
The default value is a general-used w-TinyLFU algorithm.
sourcepub fn with_object_pool_capacity(self, object_pool_capacity: usize) -> Self
pub fn with_object_pool_capacity(self, object_pool_capacity: usize) -> Self
Set object pool for handles. The object pool is used to reduce handle allocation.
The optimized value is supposed to be equal to the max cache entry count.
The default value is 1024.
sourcepub fn with_event_listener<OL>(
self,
event_listener: OL
) -> CacheBuilder<K, V, OL, S>where
OL: CacheEventListener<K, V>,
pub fn with_event_listener<OL>(
self,
event_listener: OL
) -> CacheBuilder<K, V, OL, S>where
OL: CacheEventListener<K, V>,
Set in-memory cache event listener.
sourcepub fn with_hash_builder<OS>(
self,
hash_builder: OS
) -> CacheBuilder<K, V, L, OS>
pub fn with_hash_builder<OS>( self, hash_builder: OS ) -> CacheBuilder<K, V, L, OS>
Set in-memory cache hash builder.
sourcepub fn with_weighter(self, weighter: impl Weighter<K, V>) -> Self
pub fn with_weighter(self, weighter: impl Weighter<K, V>) -> Self
Set in-memory cache weighter.
Auto Trait Implementations§
impl<K, V, L, S> Freeze for CacheBuilder<K, V, L, S>
impl<K, V, L, S> !RefUnwindSafe for CacheBuilder<K, V, L, S>
impl<K, V, L, S> Send for CacheBuilder<K, V, L, S>
impl<K, V, L, S> Sync for CacheBuilder<K, V, L, S>
impl<K, V, L, S> Unpin for CacheBuilder<K, V, L, S>
impl<K, V, L, S> !UnwindSafe for CacheBuilder<K, V, L, S>
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
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more