Struct hitbox_actix::builder::CacheBuilder [−][src]
Expand description
Cache actor configurator.
Example
use actix::prelude::*; use hitbox_actix::{Cache, RedisBackend, CacheError}; #[actix_rt::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let backend = RedisBackend::new() .await? .start(); let cache = Cache::builder() .enable() .finish(backend) .start(); Ok(()) }
Implementations
impl<B> CacheBuilder<B> where
B: Backend,
[src]
impl<B> CacheBuilder<B> where
B: Backend,
[src]pub fn disable(self) -> Self
[src]
pub fn disable(self) -> Self
[src]Disable interaction with cache backend.
All messages sent to disabled Cache actor passed directly to an upstream actor.
pub fn with_stale(self) -> Self
[src]
pub fn with_stale(self) -> Self
[src]Enable stale cache mechanics. (Default value).
If CacheActor receives a stale value, it does not return it immediately. It polls data from upstream, and if the upstream returned an error, the CacheActor returns a stale value. If no error occurred in the upstream, then a fresh value is stored in the cache and returned.
pub fn without_stale(self) -> Self
[src]
pub fn without_stale(self) -> Self
[src]Disable stale cache mechanics.
pub fn with_lock(self) -> Self
[src]
pub fn with_lock(self) -> Self
[src]Enable cache lock mechanics.
Prevents multiple upstream requests for the same cache key in case of cache data is missing.
Only the first request will produce an upstream request.
The remaining requests wait for a first upstream response and return updated data.
If with_stale
is enabled the remaining requests don’t wait for an upstream response
and return stale cache data if it exists.
pub fn without_lock(self) -> Self
[src]
pub fn without_lock(self) -> Self
[src]Disable cache lock mechanics. (Default value).
Trait Implementations
Auto Trait Implementations
impl<B> RefUnwindSafe for CacheBuilder<B> where
B: RefUnwindSafe,
B: RefUnwindSafe,
impl<B> Send for CacheBuilder<B> where
B: Send,
B: Send,
impl<B> Sync for CacheBuilder<B> where
B: Sync,
B: Sync,
impl<B> Unpin for CacheBuilder<B>
impl<B> UnwindSafe for CacheBuilder<B> where
B: UnwindSafe,
B: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,