Struct scylla::CachingSession
source · [−]pub struct CachingSession {
pub session: Session,
pub max_capacity: usize,
pub cache: DashMap<String, PreparedStatement>,
}
Expand description
Provides auto caching while executing queries
Fields
session: Session
max_capacity: usize
The prepared statement cache size If a prepared statement is added while the limit is reached, the oldest prepared statement is removed from the cache
cache: DashMap<String, PreparedStatement>
Implementations
sourceimpl CachingSession
impl CachingSession
pub fn from(session: Session, cache_size: usize) -> Self
sourcepub async fn execute(
&self,
query: impl Into<Query>,
values: impl ValueList
) -> Result<QueryResult, QueryError>
pub async fn execute(
&self,
query: impl Into<Query>,
values: impl ValueList
) -> Result<QueryResult, QueryError>
Does the same thing as Session::execute
but uses the prepared statement cache
sourcepub async fn execute_iter(
&self,
query: impl Into<Query>,
values: impl ValueList
) -> Result<RowIterator, QueryError>
pub async fn execute_iter(
&self,
query: impl Into<Query>,
values: impl ValueList
) -> Result<RowIterator, QueryError>
Does the same thing as Session::execute_iter
but uses the prepared statement cache
sourcepub async fn execute_paged(
&self,
query: impl Into<Query>,
values: impl ValueList,
paging_state: Option<Bytes>
) -> Result<QueryResult, QueryError>
pub async fn execute_paged(
&self,
query: impl Into<Query>,
values: impl ValueList,
paging_state: Option<Bytes>
) -> Result<QueryResult, QueryError>
Does the same thing as Session::execute_paged
but uses the prepared statement cache
sourcepub async fn add_prepared_statement(
&self,
query: impl Into<&Query>
) -> Result<PreparedStatement, QueryError>
pub async fn add_prepared_statement(
&self,
query: impl Into<&Query>
) -> Result<PreparedStatement, QueryError>
Adds a prepared statement to the cache
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for CachingSession
impl Send for CachingSession
impl Sync for CachingSession
impl Unpin for CachingSession
impl !UnwindSafe for CachingSession
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more