pub struct LocalCache { /* private fields */ }Expand description
Filesystem-based cache store.
Each entry is stored as a JSON file named by the cache key’s hex. Suitable for persistent local caching across process restarts.
Implementations§
Trait Implementations§
Source§impl CacheStore for LocalCache
impl CacheStore for LocalCache
Source§fn get(&self, key: &CacheKey) -> Result<Option<Value>>
fn get(&self, key: &CacheKey) -> Result<Option<Value>>
Look up the value stored under
key, None on a miss.Source§fn put(&self, key: &CacheKey, value: &Value) -> Result<()>
fn put(&self, key: &CacheKey, value: &Value) -> Result<()>
Store
value under key, replacing any existing entry.Source§fn put_with_origin(
&self,
key: &CacheKey,
value: &Value,
origin: &Origin,
) -> Result<()>
fn put_with_origin( &self, key: &CacheKey, value: &Value, origin: &Origin, ) -> Result<()>
Store a value together with its provenance. Stores that persist
metadata should override this; the default discards the origin.
Source§fn exists(&self, key: &CacheKey) -> Result<bool>
fn exists(&self, key: &CacheKey) -> Result<bool>
Whether
key has an entry, without loading the value.Source§fn remove(&self, key: &CacheKey) -> Result<()>
fn remove(&self, key: &CacheKey) -> Result<()>
Delete the entry under
key; absent keys are not an error.Source§fn metadata(&self, key: &CacheKey) -> Result<Option<EntryMeta>>
fn metadata(&self, key: &CacheKey) -> Result<Option<EntryMeta>>
The entry’s
EntryMeta, without loading the value.Source§fn put_computed(
&self,
key: &CacheKey,
value: &Value,
origin: &Origin,
compute: Duration,
deterministic: bool,
) -> Result<(), SomaError>
fn put_computed( &self, key: &CacheKey, value: &Value, origin: &Origin, compute: Duration, deterministic: bool, ) -> Result<(), SomaError>
Store a freshly-computed value with its full provenance record:
origin, wall-clock compute cost, and the producer’s determinism
declaration. Cost-aware eviction needs the compute time — a tiny
value that took days must outlive a huge one that took seconds.
The default discards the extra metadata.
Auto Trait Implementations§
impl Freeze for LocalCache
impl RefUnwindSafe for LocalCache
impl Send for LocalCache
impl Sync for LocalCache
impl Unpin for LocalCache
impl UnsafeUnpin for LocalCache
impl UnwindSafe for LocalCache
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