Trait FromRedisValue
pub trait FromRedisValue: Sized {
// Required method
fn from_redis_value(v: &Value) -> Result<Self, RedisError>;
// Provided methods
fn from_owned_redis_value(v: Value) -> Result<Self, RedisError> { ... }
fn from_redis_values(items: &[Value]) -> Result<Vec<Self>, RedisError> { ... }
fn from_owned_redis_values(
items: Vec<Value>,
) -> Result<Vec<Self>, RedisError> { ... }
fn from_byte_vec(_vec: &[u8]) -> Option<Vec<Self>> { ... }
fn from_owned_byte_vec(_vec: Vec<u8>) -> Result<Vec<Self>, RedisError> { ... }
}
Expand description
This trait is used to convert a redis value into a more appropriate type.
While a redis Value
can represent any response that comes
back from the redis server, usually you want to map this into something
that works better in rust. For instance you might want to convert the
return value into a String
or an integer.
This trait is well supported throughout the library and you can implement it for your own types if you want.
In addition to what you can see from the docs, this is also implemented
for tuples up to size 12 and for Vec<u8>
.
Required Methods§
fn from_redis_value(v: &Value) -> Result<Self, RedisError>
fn from_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.
Provided Methods§
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.
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.
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]
.
fn from_byte_vec(_vec: &[u8]) -> Option<Vec<Self>>
fn from_byte_vec(_vec: &[u8]) -> Option<Vec<Self>>
Convert bytes to a single element vector.
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.