Enum foyer_memory::Cache
source · pub enum Cache<K, V, L = DefaultCacheEventListener<K, V>, S = RandomState>{
Fifo(Arc<GenericCache<K, V, FifoHandle<K, V>, Fifo<K, V>, HashTableIndexer<K, FifoHandle<K, V>>, L, S>>),
Lru(Arc<GenericCache<K, V, LruHandle<K, V>, Lru<K, V>, HashTableIndexer<K, LruHandle<K, V>>, L, S>>),
Lfu(Arc<GenericCache<K, V, LfuHandle<K, V>, Lfu<K, V>, HashTableIndexer<K, LfuHandle<K, V>>, L, S>>),
S3Fifo(Arc<GenericCache<K, V, S3FifoHandle<K, V>, S3Fifo<K, V>, HashTableIndexer<K, S3FifoHandle<K, V>>, L, S>>),
}Variants§
Fifo(Arc<GenericCache<K, V, FifoHandle<K, V>, Fifo<K, V>, HashTableIndexer<K, FifoHandle<K, V>>, L, S>>)
Lru(Arc<GenericCache<K, V, LruHandle<K, V>, Lru<K, V>, HashTableIndexer<K, LruHandle<K, V>>, L, S>>)
Lfu(Arc<GenericCache<K, V, LfuHandle<K, V>, Lfu<K, V>, HashTableIndexer<K, LfuHandle<K, V>>, L, S>>)
S3Fifo(Arc<GenericCache<K, V, S3FifoHandle<K, V>, S3Fifo<K, V>, HashTableIndexer<K, S3FifoHandle<K, V>>, L, S>>)
Implementations§
source§impl<K, V, L, S> Cache<K, V, L, S>
impl<K, V, L, S> Cache<K, V, L, S>
pub fn fifo(config: FifoCacheConfig<K, V, L, S>) -> Self
pub fn lru(config: LruCacheConfig<K, V, L, S>) -> Self
pub fn lfu(config: LfuCacheConfig<K, V, L, S>) -> Self
pub fn s3fifo(config: S3FifoCacheConfig<K, V, L, S>) -> Self
pub fn insert(&self, key: K, value: V, charge: usize) -> CacheEntry<K, V, L, S>
pub fn insert_with_context( &self, key: K, value: V, charge: usize, context: CacheContext ) -> CacheEntry<K, V, L, S>
pub fn remove(&self, key: &K)
pub fn get(&self, key: &K) -> Option<CacheEntry<K, V, L, S>>
pub fn clear(&self)
pub fn capacity(&self) -> usize
pub fn usage(&self) -> usize
pub fn metrics(&self) -> &Metrics
source§impl<K, V, L, S> Cache<K, V, L, S>where
K: Key + Clone,
V: Value,
L: CacheEventListener<K, V>,
S: BuildHasher + Send + Sync + 'static,
impl<K, V, L, S> Cache<K, V, L, S>where
K: Key + Clone,
V: Value,
L: CacheEventListener<K, V>,
S: BuildHasher + Send + Sync + 'static,
Trait Implementations§
Auto Trait Implementations§
impl<K, V, L, S> Freeze for Cache<K, V, L, S>
impl<K, V, L = DefaultCacheEventListener<K, V>, S = RandomState> !RefUnwindSafe for Cache<K, V, L, S>
impl<K, V, L, S> Send for Cache<K, V, L, S>
impl<K, V, L, S> Sync for Cache<K, V, L, S>
impl<K, V, L, S> Unpin for Cache<K, V, L, S>
impl<K, V, L = DefaultCacheEventListener<K, V>, S = RandomState> !UnwindSafe for Cache<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