pub struct EnterpriseRedisBackend { /* private fields */ }Expand description
Enterprise Redis backend
Implementations§
Source§impl EnterpriseRedisBackend
impl EnterpriseRedisBackend
Sourcepub async fn new(config: EnterpriseRedisConfig) -> StateResult<Self>
pub async fn new(config: EnterpriseRedisConfig) -> StateResult<Self>
Create a new enterprise Redis backend
Sourcepub async fn acquire_lock(
&self,
resource: &str,
ttl: Duration,
) -> StateResult<RedlockGuard>
pub async fn acquire_lock( &self, resource: &str, ttl: Duration, ) -> StateResult<RedlockGuard>
Acquire distributed lock using Redlock algorithm
Sourcepub async fn try_acquire_lock(
&self,
resource: &str,
ttl: Duration,
) -> StateResult<Option<RedlockGuard>>
pub async fn try_acquire_lock( &self, resource: &str, ttl: Duration, ) -> StateResult<Option<RedlockGuard>>
Try to acquire lock without blocking
Sourcepub async fn batch_get_optimized(
&self,
keys: &[&[u8]],
) -> StateResult<Vec<Option<Vec<u8>>>>
pub async fn batch_get_optimized( &self, keys: &[&[u8]], ) -> StateResult<Vec<Option<Vec<u8>>>>
Batch get with pipeline
Sourcepub async fn batch_put_optimized(
&self,
pairs: &[(&[u8], &[u8])],
) -> StateResult<()>
pub async fn batch_put_optimized( &self, pairs: &[(&[u8], &[u8])], ) -> StateResult<()>
Batch put with pipeline
Sourcepub async fn stats(&self) -> BackendStats
pub async fn stats(&self) -> BackendStats
Get backend statistics
Sourcepub async fn health_check(&self) -> StateResult<bool>
pub async fn health_check(&self) -> StateResult<bool>
Health check
Sourcepub fn metrics(&self) -> Option<Arc<RedisMetrics>>
pub fn metrics(&self) -> Option<Arc<RedisMetrics>>
Get metrics registry for Prometheus export
Trait Implementations§
Source§impl Clone for EnterpriseRedisBackend
impl Clone for EnterpriseRedisBackend
Source§impl StateBackend for EnterpriseRedisBackend
impl StateBackend for EnterpriseRedisBackend
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = StateResult<Option<Vec<u8>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = StateResult<Option<Vec<u8>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve a value for the given key Read more
Source§fn put<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
value: &'life2 [u8],
) -> Pin<Box<dyn Future<Output = StateResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn put<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
value: &'life2 [u8],
) -> Pin<Box<dyn Future<Output = StateResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Store a value for the given key Read more
Source§fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = StateResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = StateResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a key and its associated value Read more
Source§fn list_keys<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = StateResult<Vec<Vec<u8>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_keys<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = StateResult<Vec<Vec<u8>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List all keys with the given prefix Read more
Source§fn clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = StateResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn clear<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = StateResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Clear all state from the backend Read more
Auto Trait Implementations§
impl !RefUnwindSafe for EnterpriseRedisBackend
impl !UnwindSafe for EnterpriseRedisBackend
impl Freeze for EnterpriseRedisBackend
impl Send for EnterpriseRedisBackend
impl Sync for EnterpriseRedisBackend
impl Unpin for EnterpriseRedisBackend
impl UnsafeUnpin for EnterpriseRedisBackend
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.