Trait mouscache::ToArgs[][src]

pub trait ToArgs {
    fn write_redis_args(&self, out: &mut Vec<Vec<u8>>);

    fn to_redis_args(&self) -> Vec<Vec<u8>> { ... }
fn describe_numeric_behavior(&self) -> NumericBehavior { ... }
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

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.

Provided Methods

Important traits for 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.

The exception to this rule currently are vectors of items.

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

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.

Implementations on Foreign Types

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

Important traits for Vec<u8>

impl<T> ToRedisArgs for Option<T> where
    T: ToRedisArgs
[src]

Important traits for Vec<u8>

impl ToRedisArgs for u32
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl ToRedisArgs for f64
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl<T> ToRedisArgs for Vec<T> where
    T: ToRedisArgs
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl ToRedisArgs for i64
[src]

Important traits for Vec<u8>

impl ToRedisArgs for f32
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl ToRedisArgs for String
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl ToRedisArgs for i32
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl ToRedisArgs for u16
[src]

Important traits for Vec<u8>

impl ToRedisArgs for usize
[src]

Important traits for Vec<u8>

impl ToRedisArgs for isize
[src]

Important traits for Vec<u8>

impl ToRedisArgs for u64
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl<T> ToRedisArgs for HashSet<T, RandomState> where
    T: ToRedisArgs + Eq + Hash
[src]

@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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl ToRedisArgs for u8
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl ToRedisArgs for i8
[src]

Important traits for Vec<u8>

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

@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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl ToRedisArgs for bool
[src]

Important traits for Vec<u8>

impl ToRedisArgs for i16
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl<'a> ToRedisArgs for &'a str
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

impl<'a> ToRedisArgs for &'a String
[src]

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

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

Important traits for Vec<u8>

Implementors