Trait GetOrFetchExt

Source
pub trait GetOrFetchExt: AsyncCommands {
    // Required method
    fn get_or_fetch<'life0, 'async_trait, K, V, F, Fut>(
        &'life0 mut self,
        key: K,
        data_loader: F,
        expire_seconds: usize,
    ) -> Pin<Box<dyn Future<Output = Result<V>> + Send + 'async_trait>>
       where K: ToRedisArgs + Send + Sync + 'async_trait,
             V: FromRedisValue + ToRedisArgs + Send + Sync + 'async_trait,
             F: FnOnce() -> Fut + Send + 'async_trait,
             Fut: Future<Output = Result<V>> + Send + 'async_trait,
             Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

Source

fn get_or_fetch<'life0, 'async_trait, K, V, F, Fut>( &'life0 mut self, key: K, data_loader: F, expire_seconds: usize, ) -> Pin<Box<dyn Future<Output = Result<V>> + Send + 'async_trait>>
where K: ToRedisArgs + Send + Sync + 'async_trait, V: FromRedisValue + ToRedisArgs + Send + Sync + 'async_trait, F: FnOnce() -> Fut + Send + 'async_trait, Fut: Future<Output = Result<V>> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl GetOrFetchExt for Connection

Source§

fn get_or_fetch<'life0, 'async_trait, K, V, F, Fut>( &'life0 mut self, key: K, data_loader: F, expire_seconds: usize, ) -> Pin<Box<dyn Future<Output = Result<V>> + Send + 'async_trait>>
where K: ToRedisArgs + Send + Sync + 'async_trait, V: FromRedisValue + ToRedisArgs + Send + Sync + 'async_trait, F: FnOnce() -> Fut + Send + 'async_trait, Fut: Future<Output = Result<V>> + Send + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Implementors§