pub struct Cache { /* private fields */ }Implementations§
Source§impl Cache
impl Cache
pub async fn new(env: &Env) -> Arc<Self>
pub async fn version(&self) -> Result<CompactString, Error>
pub async fn ratelimit( &self, limit_identifier: impl AsRef<str>, limit: u64, limit_window: u64, client: impl AsRef<str>, ) -> Result<(), ApiResponse>
pub async fn lock( &self, lock_id: impl Into<CompactString> + Debug, ttl: Option<u64>, timeout: Option<u64>, ) -> Result<CacheLock, Error>
pub async fn cached<T: Serialize + DeserializeOwned + Send, F: FnOnce() -> Fut, Fut: Future<Output = Result<T, FutErr>>, FutErr: Into<Error> + Send + Sync + 'static>( &self, key: &str, ttl: u64, fn_compute: F, ) -> Result<T, Error>
pub async fn get<T: DeserializeOwned>( &self, key: &str, ) -> Result<Option<T>, Error>
pub async fn set<T: Serialize + Send + Sync>( &self, key: &str, ttl: u64, value: &T, ) -> Result<(), Error>
pub async fn invalidate(&self, key: &str) -> Result<(), Error>
pub fn cache_calls(&self) -> u64
pub fn cache_misses(&self) -> u64
pub fn cache_latency_ns_average(&self) -> u64
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Cache
impl !RefUnwindSafe for Cache
impl Send for Cache
impl Sync for Cache
impl Unpin for Cache
impl !UnwindSafe for Cache
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<T> Chain<T> for T
impl<T> Chain<T> for T
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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