pub struct RedisJson<T: Serialize + for<'a> Deserialize<'a>>(pub T);Expand description
A wrapper on an arbitrary json object to allow reading and writing to redis. Access the inner with .0.
Tuple Fields§
§0: TTrait Implementations§
source§impl<T: Serialize + for<'a> Deserialize<'a>> FromRedisValue for RedisJson<T>
impl<T: Serialize + for<'a> Deserialize<'a>> FromRedisValue for RedisJson<T>
source§fn from_redis_value(v: &Value) -> RedisResult<Self>
fn from_redis_value(v: &Value) -> RedisResult<Self>
Given a redis
Value this attempts to convert it into the given
destination type. If that fails because it’s not compatible an
appropriate error is generated.source§fn from_owned_redis_value(v: Value) -> Result<Self, RedisError>
fn from_owned_redis_value(v: Value) -> Result<Self, RedisError>
Given a redis
Value this attempts to convert it into the given
destination type. If that fails because it’s not compatible an
appropriate error is generated.source§fn from_redis_values(items: &[Value]) -> Result<Vec<Self>, RedisError>
fn from_redis_values(items: &[Value]) -> Result<Vec<Self>, RedisError>
Similar to
from_redis_value but constructs a vector of objects
from another vector of values. This primarily exists internally
to customize the behavior for vectors of tuples.source§fn from_owned_redis_values(items: Vec<Value>) -> Result<Vec<Self>, RedisError>
fn from_owned_redis_values(items: Vec<Value>) -> Result<Vec<Self>, RedisError>
The same as
from_redis_values, but takes a Vec<Value> instead
of a &[Value].source§fn from_owned_byte_vec(_vec: Vec<u8>) -> Result<Vec<Self>, RedisError>
fn from_owned_byte_vec(_vec: Vec<u8>) -> Result<Vec<Self>, RedisError>
Convert bytes to a single element vector.
source§impl<T: PartialEq + Serialize + for<'a> Deserialize<'a>> PartialEq for RedisJson<T>
impl<T: PartialEq + Serialize + for<'a> Deserialize<'a>> PartialEq for RedisJson<T>
source§impl<T: Serialize + for<'a> Deserialize<'a>> ToRedisArgs for RedisJson<T>
impl<T: Serialize + for<'a> Deserialize<'a>> ToRedisArgs for RedisJson<T>
source§fn write_redis_args<W>(&self, out: &mut W)where
W: ?Sized + RedisWrite,
fn write_redis_args<W>(&self, out: &mut W)where
W: ?Sized + RedisWrite,
This writes the value into a vector of bytes. Each item
is a single argument. Most items generate a single item. Read more
source§fn to_redis_args(&self) -> Vec<Vec<u8>>
fn to_redis_args(&self) -> Vec<Vec<u8>>
This converts the value into a vector of bytes. Each item
is a single argument. Most items generate a vector of a
single item. Read more
source§fn describe_numeric_behavior(&self) -> NumericBehavior
fn describe_numeric_behavior(&self) -> NumericBehavior
Returns an information about the contained value with regards
to it’s numeric behavior in a redis context. This is used in
some high level concepts to switch between different implementations
of redis functions (for instance
INCR vs INCRBYFLOAT).source§fn is_single_arg(&self) -> bool
fn is_single_arg(&self) -> bool
Returns an indiciation if the value contained is exactly one
argument. It returns false if it’s zero or more than one. This
is used in some high level functions to intelligently switch
between
GET and MGET variants.impl<T: Eq + Serialize + for<'a> Deserialize<'a>> Eq for RedisJson<T>
impl<T: Serialize + for<'a> Deserialize<'a>> StructuralPartialEq for RedisJson<T>
Auto Trait Implementations§
impl<T> Freeze for RedisJson<T>where
T: Freeze,
impl<T> RefUnwindSafe for RedisJson<T>where
T: RefUnwindSafe,
impl<T> Send for RedisJson<T>where
T: Send,
impl<T> Sync for RedisJson<T>where
T: Sync,
impl<T> Unpin for RedisJson<T>where
T: Unpin,
impl<T> UnwindSafe for RedisJson<T>where
T: UnwindSafe,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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::Request