Trait redis::ToRedisArgs

source ·
pub trait ToRedisArgs: Sized {
    // Required method
    fn write_redis_args<W>(&self, out: &mut W)
       where W: ?Sized + RedisWrite;

    // Provided methods
    fn to_redis_args(&self) -> Vec<Vec<u8>> { ... }
    fn describe_numeric_behavior(&self) -> NumericBehavior { ... }
    fn is_single_arg(&self) -> bool { ... }
}
Expand description

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§

source

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.

The exception to this rule currently are vectors of items.

Provided Methods§

source

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.

The exception to this rule currently are vectors of items.

source

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

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.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ToRedisArgs for bool

source§

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

source§

impl ToRedisArgs for f32

source§

impl ToRedisArgs for f64

source§

impl ToRedisArgs for i8

source§

impl ToRedisArgs for i16

source§

impl ToRedisArgs for i32

source§

impl ToRedisArgs for i64

source§

impl ToRedisArgs for isize

source§

impl ToRedisArgs for u8

source§

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

source§

impl ToRedisArgs for u16

source§

impl ToRedisArgs for u32

source§

impl ToRedisArgs for u64

source§

impl ToRedisArgs for usize

source§

impl ToRedisArgs for String

source§

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

source§

impl ToRedisArgs for BigDecimal

source§

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

source§

impl ToRedisArgs for BigInt

source§

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

source§

impl ToRedisArgs for BigUint

source§

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

source§

impl ToRedisArgs for Decimal

source§

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

source§

impl ToRedisArgs for Uuid

source§

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

source§

impl ToRedisArgs for NonZeroI8

source§

impl ToRedisArgs for NonZeroI16

source§

impl ToRedisArgs for NonZeroI32

source§

impl ToRedisArgs for NonZeroI64

source§

impl ToRedisArgs for NonZeroIsize

source§

impl ToRedisArgs for NonZeroU8

source§

impl ToRedisArgs for NonZeroU16

source§

impl ToRedisArgs for NonZeroU32

source§

impl ToRedisArgs for NonZeroU64

source§

impl ToRedisArgs for NonZeroUsize

source§

impl<'a> ToRedisArgs for &'a str

source§

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

source§

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

source§

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

source§

fn is_single_arg(&self) -> bool

source§

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

@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

source§

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

source§

fn is_single_arg(&self) -> bool

source§

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

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

source§

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

source§

fn is_single_arg(&self) -> bool

source§

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

source§

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

source§

fn is_single_arg(&self) -> bool

source§

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

@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

source§

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

source§

fn is_single_arg(&self) -> bool

source§

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

@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

source§

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

source§

fn is_single_arg(&self) -> bool

source§

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

source§

impl<T: ToRedisArgs> ToRedisArgs for &T

source§

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

source§

fn is_single_arg(&self) -> bool

source§

impl<T: ToRedisArgs> ToRedisArgs for Vec<T>

source§

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

source§

fn is_single_arg(&self) -> bool

source§

impl<T: ToRedisArgs, const N: usize> ToRedisArgs for &[T; N]

source§

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

source§

fn is_single_arg(&self) -> bool

Implementors§

source§

impl ToRedisArgs for Rule

Available on crate feature acl only.
source§

impl ToRedisArgs for Direction

source§

impl ToRedisArgs for Unit

Available on crate feature geospatial only.
source§

impl ToRedisArgs for StreamMaxlen

Available on crate feature streams only.
source§

impl ToRedisArgs for RadiusOptions

Available on crate feature geospatial only.
source§

impl ToRedisArgs for StreamClaimOptions

Available on crate feature streams only.
source§

impl ToRedisArgs for StreamReadOptions

Available on crate feature streams only.
source§

impl ToRedisArgs for LposOptions

source§

impl ToRedisArgs for SetOptions

source§

impl<T: ToRedisArgs> ToRedisArgs for Coord<T>

Available on crate feature geospatial only.