pub struct CacheEntry {
pub data: Vec<u8>,
pub created_at: u64,
pub ttl_secs: u64,
pub row_count: usize,
pub tables: Vec<String>,
pub access_count: u64,
}Expand description
Cache entry containing query result
Fields§
§data: Vec<u8>Serialized result data
created_at: u64Entry creation time (Unix timestamp)
ttl_secs: u64Time-to-live duration in seconds
row_count: usizeNumber of rows in result
tables: Vec<String>Tables involved (for invalidation)
access_count: u64Access count (for LFU)
Implementations§
Source§impl CacheEntry
impl CacheEntry
Sourcepub fn new(data: Vec<u8>, tables: Vec<String>, row_count: usize) -> Self
pub fn new(data: Vec<u8>, tables: Vec<String>, row_count: usize) -> Self
Create a new cache entry
Sourcepub fn is_expired(&self) -> bool
pub fn is_expired(&self) -> bool
Check if entry is expired
Sourcepub fn from_chunk(chunk: &Chunk) -> Self
pub fn from_chunk(chunk: &Chunk) -> Self
Create entry from a RAG chunk
Sourcepub fn remaining_ttl(&self) -> Duration
pub fn remaining_ttl(&self) -> Duration
Get remaining TTL
Trait Implementations§
Source§impl Clone for CacheEntry
impl Clone for CacheEntry
Source§fn clone(&self) -> CacheEntry
fn clone(&self) -> CacheEntry
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CacheEntry
impl Debug for CacheEntry
Source§impl<'de> Deserialize<'de> for CacheEntry
impl<'de> Deserialize<'de> for CacheEntry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CacheEntry
impl RefUnwindSafe for CacheEntry
impl Send for CacheEntry
impl Sync for CacheEntry
impl Unpin for CacheEntry
impl UnsafeUnpin for CacheEntry
impl UnwindSafe for CacheEntry
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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