pub struct QueryCache { /* private fields */ }Expand description
L2 查询缓存
Implementations§
Source§impl QueryCache
impl QueryCache
Sourcepub fn new(config: QueryCacheConfig) -> Self
pub fn new(config: QueryCacheConfig) -> Self
创建 QueryCache
Sourcepub async fn get_or_query<F, Fut>(
&self,
key: &str,
query_fn: F,
) -> Result<Vec<u8>, QueryCacheError>
pub async fn get_or_query<F, Fut>( &self, key: &str, query_fn: F, ) -> Result<Vec<u8>, QueryCacheError>
查询缓存
命中返回缓存数据,未命中调用 query_fn 查询 DB 并缓存结果。
Sourcepub fn invalidate(&self, pattern: &str) -> usize
pub fn invalidate(&self, pattern: &str) -> usize
失效匹配 pattern 的缓存
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for QueryCache
impl !RefUnwindSafe for QueryCache
impl Send for QueryCache
impl Sync for QueryCache
impl Unpin for QueryCache
impl UnsafeUnpin for QueryCache
impl UnwindSafe for QueryCache
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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