CacheConfig

Struct CacheConfig 

Source
pub struct CacheConfig { /* private fields */ }
Expand description

Configuration for creating a new cache instance.

Use the builder pattern to construct configuration:

use in_memory_cache::CacheConfig;
use std::time::Duration;

let config = CacheConfig::new()
    .max_capacity(10_000)
    .default_ttl(Duration::from_secs(300))
    .build();

Implementations§

Source§

impl CacheConfig

Source

pub fn new() -> Self

Create a new configuration builder with default values.

Source

pub fn max_capacity(self, capacity: usize) -> Self

Set the maximum capacity of the cache.

When the cache reaches this capacity, the least recently used entry will be evicted to make room for new entries.

§Arguments
  • capacity - Maximum number of entries. Use 0 for unlimited (not recommended).
Source

pub fn default_ttl(self, ttl: Duration) -> Self

Set the default TTL for entries.

Entries without an explicit TTL will use this value. Set to Duration::ZERO to disable default TTL.

Source

pub fn cleanup_interval(self, interval: Duration) -> Self

Set the interval for background cleanup of expired entries.

The background task will run at this interval to remove expired entries. This is in addition to lazy expiration (entries checked on access).

Source

pub fn background_cleanup(self, enabled: bool) -> Self

Enable or disable background cleanup.

When enabled, a background task periodically removes expired entries. When disabled, entries are only removed on access (lazy expiration).

Source

pub fn build(self) -> Self

Build the final configuration.

This method validates the configuration and returns the final config.

Source

pub fn get_max_capacity(&self) -> Option<usize>

Get the maximum capacity, if set.

Source

pub fn get_default_ttl(&self) -> Option<Duration>

Get the default TTL, if set.

Trait Implementations§

Source§

impl Clone for CacheConfig

Source§

fn clone(&self) -> CacheConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CacheConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CacheConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.