[]Trait redis_actor::ToRedisArgs

pub trait ToRedisArgs {
    pub fn write_redis_args<W>(&self, out: &mut W)
    where
        W: RedisWrite + ?Sized
; pub fn to_redis_args(&self) -> Vec<Vec<u8, Global>, Global> { ... }
pub fn describe_numeric_behavior(&self) -> NumericBehavior { ... }
pub fn is_single_arg(&self) -> bool { ... } }

Used to convert a value into one or multiple redis argument strings. Most values will produce exactly one item but in some cases it might make sense to produce more than one.

Required methods

pub fn write_redis_args<W>(&self, out: &mut W) where
    W: RedisWrite + ?Sized

This writes the value into a vector of bytes. Each item is a single argument. Most items generate a single item.

The exception to this rule currently are vectors of items.

Loading content...

Provided methods

pub fn to_redis_args(&self) -> Vec<Vec<u8, Global>, Global>

This converts the value into a vector of bytes. Each item is a single argument. Most items generate a vector of a single item.

The exception to this rule currently are vectors of items.

pub 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).

pub 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.

Loading content...

Implementations on Foreign Types

impl ToRedisArgs for u16

impl ToRedisArgs for u8

impl<'a, T> ToRedisArgs for &'a [T; 16] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 26] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 6] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 19] where
    T: ToRedisArgs

impl ToRedisArgs for String

impl<T, S> ToRedisArgs for HashSet<T, S> where
    S: Default + BuildHasher,
    T: ToRedisArgs + Eq + Hash

@note: Redis cannot store empty sets so the application has to check whether the set is empty and if so, not attempt to use that result

impl<'a, T> ToRedisArgs for &'a [T; 3] where
    T: ToRedisArgs

impl ToRedisArgs for u64

impl<'a, T> ToRedisArgs for &'a [T; 14] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 31] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 11] where
    T: ToRedisArgs

impl ToRedisArgs for usize

impl ToRedisArgs for f64

impl ToRedisArgs for isize

impl<'a, T> ToRedisArgs for &'a [T; 9] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 12] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 30] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T] where
    T: ToRedisArgs

impl<T, V> ToRedisArgs for BTreeMap<T, V> where
    T: ToRedisArgs + Eq + Ord + Hash,
    V: ToRedisArgs

this flattens BTreeMap into something that goes well with HMSET @note: Redis cannot store empty sets so the application has to check whether the set is empty and if so, not attempt to use that result

impl<'a> ToRedisArgs for &'a String

impl<T> ToRedisArgs for Vec<T, Global> where
    T: ToRedisArgs

impl ToRedisArgs for i16

impl<'a, T> ToRedisArgs for &'a [T; 1] where
    T: ToRedisArgs

impl<T> ToRedisArgs for BTreeSet<T> where
    T: ToRedisArgs + Eq + Ord + Hash

@note: Redis cannot store empty sets so the application has to check whether the set is empty and if so, not attempt to use that result

impl<'a, T> ToRedisArgs for &'a [T; 7] where
    T: ToRedisArgs

impl ToRedisArgs for i64

impl<'a, T> ToRedisArgs for &'a [T; 23] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 5] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 10] where
    T: ToRedisArgs

impl<'a> ToRedisArgs for &'a str

impl<'a, T> ToRedisArgs for &'a [T; 8] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 18] where
    T: ToRedisArgs

impl ToRedisArgs for f32

impl<'a, T> ToRedisArgs for &'a [T; 20] where
    T: ToRedisArgs

impl<T> ToRedisArgs for Option<T> where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 28] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 15] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 32] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 25] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 4] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 0] where
    T: ToRedisArgs

impl ToRedisArgs for i8

impl<'a, T> ToRedisArgs for &'a [T; 27] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 24] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 2] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 29] where
    T: ToRedisArgs

impl ToRedisArgs for u32

impl<'a, T> ToRedisArgs for &'a [T; 21] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 22] where
    T: ToRedisArgs

impl ToRedisArgs for bool

impl<'a, T> ToRedisArgs for &'a [T; 17] where
    T: ToRedisArgs

impl<'a, T> ToRedisArgs for &'a [T; 13] where
    T: ToRedisArgs

impl ToRedisArgs for i32

Loading content...

Implementors

Loading content...