pub trait SortedSetCommands<T>: PrepareCommand<T> {
Show 37 methods fn bzmpop<K, C, E>(
        &self,
        timeout: f64,
        keys: C,
        where_: ZWhere,
        count: usize
    ) -> CommandResult<'_, T, Option<ZMPopResult<E>>>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        E: FromValue
, { ... } fn bzpopmax<K, KK, E, K1>(
        &self,
        keys: KK,
        timeout: f64
    ) -> CommandResult<'_, T, Option<Vec<(K1, E, f64)>>>
    where
        K: Into<BulkString>,
        KK: SingleArgOrCollection<K>,
        K1: FromValue,
        E: FromValue
, { ... } fn bzpopmin<K, KK, E, K1>(
        &self,
        keys: KK,
        timeout: f64
    ) -> CommandResult<'_, T, Option<Vec<(K1, E, f64)>>>
    where
        K: Into<BulkString>,
        KK: SingleArgOrCollection<K>,
        K1: FromValue,
        E: FromValue
, { ... } fn zadd<K, M, I>(
        &self,
        key: K,
        items: I,
        options: ZAddOptions
    ) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>,
        M: Into<BulkString>,
        I: ArgsOrCollection<(f64, M)>
, { ... } fn zadd_incr<K, M>(
        &self,
        key: K,
        condition: ZAddCondition,
        comparison: ZAddComparison,
        change: bool,
        score: f64,
        member: M
    ) -> CommandResult<'_, T, Option<f64>>
    where
        K: Into<BulkString>,
        M: Into<BulkString>
, { ... } fn zcard<K>(&self, key: K) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>
, { ... } fn zcount<K, M1, M2>(
        &self,
        key: K,
        min: M1,
        max: M2
    ) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>,
        M1: Into<BulkString>,
        M2: Into<BulkString>
, { ... } fn zdiff<K, C, E>(&self, keys: C) -> CommandResult<'_, T, Vec<E>>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        E: FromValue
, { ... } fn zdiff_with_scores<K, C, E>(
        &self,
        keys: C
    ) -> CommandResult<'_, T, Vec<(E, f64)>>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        E: FromValue
, { ... } fn zdiffstore<D, K, C>(
        &self,
        destination: D,
        keys: C
    ) -> CommandResult<'_, T, usize>
    where
        D: Into<BulkString>,
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>
, { ... } fn zincrby<K, M>(
        &self,
        key: K,
        increment: f64,
        member: M
    ) -> CommandResult<'_, T, f64>
    where
        K: Into<BulkString>,
        M: Into<BulkString>
, { ... } fn zinter<K, C, W, E>(
        &self,
        keys: C,
        weights: Option<W>,
        aggregate: ZAggregate
    ) -> CommandResult<'_, T, Vec<E>>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        W: SingleArgOrCollection<f64>,
        E: FromValue
, { ... } fn zinter_with_scores<K, C, W, E>(
        &self,
        keys: C,
        weights: Option<W>,
        aggregate: ZAggregate
    ) -> CommandResult<'_, T, Vec<(E, f64)>>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        W: SingleArgOrCollection<f64>,
        E: FromValue
, { ... } fn zintercard<K, C>(
        &self,
        keys: C,
        limit: usize
    ) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>
, { ... } fn zinterstore<D, K, C, W>(
        &self,
        destination: D,
        keys: C,
        weights: Option<W>,
        aggregate: ZAggregate
    ) -> CommandResult<'_, T, usize>
    where
        D: Into<BulkString>,
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        W: SingleArgOrCollection<f64>
, { ... } fn zlexcount<K, M1, M2>(
        &self,
        key: K,
        min: M1,
        max: M2
    ) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>,
        M1: Into<BulkString>,
        M2: Into<BulkString>
, { ... } fn zmpop<K, C, E>(
        &self,
        keys: C,
        where_: ZWhere,
        count: usize
    ) -> CommandResult<'_, T, Option<ZMPopResult<E>>>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        E: FromValue
, { ... } fn zmscore<K, M, C>(
        &self,
        key: K,
        members: C
    ) -> CommandResult<'_, T, Vec<Option<f64>>>
    where
        K: Into<BulkString>,
        M: Into<BulkString>,
        C: SingleArgOrCollection<M>
, { ... } fn zpopmax<K, M>(
        &self,
        key: K,
        count: usize
    ) -> CommandResult<'_, T, Vec<(M, f64)>>
    where
        K: Into<BulkString>,
        M: FromValue
, { ... } fn zpopmin<K, M>(
        &self,
        key: K,
        count: usize
    ) -> CommandResult<'_, T, Vec<(M, f64)>>
    where
        K: Into<BulkString>,
        M: FromValue
, { ... } fn zrandmember<K, E>(&self, key: K) -> CommandResult<'_, T, E>
    where
        K: Into<BulkString>,
        E: FromValue
, { ... } fn zrandmembers<K, E>(
        &self,
        key: K,
        count: isize
    ) -> CommandResult<'_, T, Vec<E>>
    where
        K: Into<BulkString>,
        E: FromValue
, { ... } fn zrandmembers_with_scores<K, E>(
        &self,
        key: K,
        count: isize
    ) -> CommandResult<'_, T, Vec<E>>
    where
        K: Into<BulkString>,
        E: FromValue
, { ... } fn zrange<K, S, E>(
        &self,
        key: K,
        start: S,
        stop: S,
        options: ZRangeOptions
    ) -> CommandResult<'_, T, Vec<E>>
    where
        K: Into<BulkString>,
        S: Into<BulkString>,
        E: FromValue
, { ... } fn zrange_with_scores<K, S, E>(
        &self,
        key: K,
        start: S,
        stop: S,
        options: ZRangeOptions
    ) -> CommandResult<'_, T, Vec<(E, f64)>>
    where
        K: Into<BulkString>,
        S: Into<BulkString>,
        E: FromValue
, { ... } fn zrangestore<D, S, SS>(
        &self,
        dst: D,
        src: S,
        start: SS,
        stop: SS,
        options: ZRangeOptions
    ) -> CommandResult<'_, T, usize>
    where
        D: Into<BulkString>,
        S: Into<BulkString>,
        SS: Into<BulkString>
, { ... } fn zrank<K, M>(
        &self,
        key: K,
        member: M
    ) -> CommandResult<'_, T, Option<usize>>
    where
        K: Into<BulkString>,
        M: Into<BulkString>
, { ... } fn zrem<K, M, C>(&self, key: K, members: C) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>,
        M: Into<BulkString>,
        C: SingleArgOrCollection<M>
, { ... } fn zremrangebylex<K, S>(
        &self,
        key: K,
        start: S,
        stop: S
    ) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>,
        S: Into<BulkString>
, { ... } fn zremrangebyrank<K>(
        &self,
        key: K,
        start: isize,
        stop: isize
    ) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>
, { ... } fn zremrangebyscore<K, S>(
        &self,
        key: K,
        start: S,
        stop: S
    ) -> CommandResult<'_, T, usize>
    where
        K: Into<BulkString>,
        S: Into<BulkString>
, { ... } fn zrevrank<K, M>(
        &self,
        key: K,
        member: M
    ) -> CommandResult<'_, T, Option<usize>>
    where
        K: Into<BulkString>,
        M: Into<BulkString>
, { ... } fn zscan<K, M>(
        &self,
        key: K,
        cursor: usize,
        options: ZScanOptions
    ) -> CommandResult<'_, T, (u64, Vec<(M, f64)>)>
    where
        K: Into<BulkString>,
        M: FromValue
, { ... } fn zscore<K, M>(&self, key: K, member: M) -> CommandResult<'_, T, Option<f64>>
    where
        K: Into<BulkString>,
        M: Into<BulkString>
, { ... } fn zunion<K, C, W, E>(
        &self,
        keys: C,
        weights: Option<W>,
        aggregate: ZAggregate
    ) -> CommandResult<'_, T, Vec<E>>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        W: SingleArgOrCollection<f64>,
        E: FromValue
, { ... } fn zunion_with_scores<K, C, W, E>(
        &self,
        keys: C,
        weights: Option<W>,
        aggregate: ZAggregate
    ) -> CommandResult<'_, T, Vec<(E, f64)>>
    where
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        W: SingleArgOrCollection<f64>,
        E: FromValue
, { ... } fn zunionstore<D, K, C, W>(
        &self,
        destination: D,
        keys: C,
        weights: Option<W>,
        aggregate: ZAggregate
    ) -> CommandResult<'_, T, usize>
    where
        D: Into<BulkString>,
        K: Into<BulkString>,
        C: SingleArgOrCollection<K>,
        W: SingleArgOrCollection<f64>
, { ... }
}
Expand description

A group of Redis commands related to Sorted Sets

See Also

Redis Sorted Set Commands

Provided Methods

This command is the blocking variant of zmpop.

Return
  • None if no element could be popped
  • A tuple made up of
    • The name of the key from which elements were popped
    • An array of tuples with all the popped members and their scores
See Also

https://redis.io/commands/bzmpop/

This command is the blocking variant of zpopmax.

Return
  • None when no element could be popped and the timeout expired.
  • The list of tuple with
    • the first element being the name of the key where a member was popped,
    • the second element is the popped member itself,
    • and the third element is the score of the popped element.
See Also

https://redis.io/commands/bzpopmax/

This command is the blocking variant of zpopmin.

Return
  • None when no element could be popped and the timeout expired.
  • The list of tuple with
    • the first element being the name of the key where a member was popped,
    • the second element is the popped member itself,
    • and the third element is the score of the popped element.
See Also

https://redis.io/commands/bzpopmin/

Adds all the specified members with the specified scores to the sorted set stored at key.

Return
  • When used without optional arguments, the number of elements added to the sorted set (excluding score updates).
  • If the change option is specified, the number of elements that were changed (added or updated).
See Also

https://redis.io/commands/zadd/

In this mode ZADD acts like ZINCRBY. Only one score-element pair can be specified in this mode.

Return

The new score of member (a double precision floating point number), or nil if the operation was aborted (when called with either the XX or the NX option).

See Also

https://redis.io/commands/zadd/

Returns the sorted set cardinality (number of elements) of the sorted set stored at key.

Return

The cardinality (number of elements) of the sorted set, or 0 if key does not exist.

See Also

https://redis.io/commands/zcard/

Returns the number of elements in the sorted set at key with a score between min and max.

Return

The number of elements in the specified score range.

See Also

https://redis.io/commands/zcount/

This command is similar to zdiffstore, but instead of storing the resulting sorted set, it is returned to the client.

Return

The result of the difference

See Also

https://redis.io/commands/zdiff/

This command is similar to zdiffstore, but instead of storing the resulting sorted set, it is returned to the client.

Return

The result of the difference with their scores

See Also

https://redis.io/commands/zdiff/

Computes the difference between the first and all successive input sorted sets and stores the result in destination.

Return

The number of elements in the resulting sorted set at destination.

See Also

https://redis.io/commands/zdiffstore/

Increments the score of member in the sorted set stored at key by increment.

Return

the new score of member

See Also

https://redis.io/commands/zincrby/

This command is similar to zinterstore, but instead of storing the resulting sorted set, it is returned to the client.

Return

The result of the intersection as an array of members

See Also

https://redis.io/commands/zinter/

This command is similar to zinterstore, but instead of storing the resulting sorted set, it is returned to the client.

Return

The result of the intersection as an array of members with their scores

See Also

https://redis.io/commands/zinter/

This command is similar to zinter, but instead of returning the result set, it returns just the cardinality of the result.

the algorithm will exit and yield limit as the cardinality. 0 means unlimited

See Also

https://redis.io/commands/zintercard/

Computes the intersection of numkeys sorted sets given by the specified keys, and stores the result in destination.

Return

The number of elements in the resulting sorted set at destination.

See Also

https://redis.io/commands/zinterstore/

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max.

Return

the number of elements in the specified score range.

See Also

https://redis.io/commands/zlexcount/

Pops one or more elements, that are member-score pairs, from the first non-empty sorted set in the provided list of key names.

Return
  • None if no element could be popped
  • A tuple made up of
    • The name of the key from which elements were popped
    • An array of tuples with all the popped members and their scores
See Also

https://redis.io/commands/zmpop/

Returns the scores associated with the specified members in the sorted set stored at key.

For every member that does not exist in the sorted set, a nil value is returned.

Return

The list of scores or nil associated with the specified member value

See Also

https://redis.io/commands/zmscore/

Removes and returns up to count members with the highest scores in the sorted set stored at key.

Return

The list of popped elements and scores.

See Also

https://redis.io/commands/zpopmax/

Removes and returns up to count members with the lowest scores in the sorted set stored at key.

Return

The list of popped elements and scores.

See Also

https://redis.io/commands/zpopmin/

Return a random element from the sorted set value stored at key.

Return

The randomly selected element, or nil when key does not exist.

See Also

https://redis.io/commands/zrandmember/

Return random elements from the sorted set value stored at key.

Return
  • If the provided count argument is positive, return an array of distinct elements. The array’s length is either count or the sorted set’s cardinality (ZCARD), whichever is lower.
  • If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. In this case, the number of returned elements is the absolute value of the specified count.
See Also

https://redis.io/commands/zrandmember/

Return random elements with their scores from the sorted set value stored at key.

Return
  • If the provided count argument is positive, return an array of distinct elements with their scores. The array’s length is either count or the sorted set’s cardinality (ZCARD), whichever is lower.
  • If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. In this case, the number of returned elements is the absolute value of the specified count.
See Also

https://redis.io/commands/zrandmember/

Returns the specified range of elements in the sorted set stored at key.

Return

A collection of elements in the specified range

See Also

https://redis.io/commands/zrange/

Returns the specified range of elements in the sorted set stored at key.

Return

A collection of elements and their scores in the specified range

See Also

https://redis.io/commands/zrange/

This command is like zrange, but stores the result in the dst destination key.

Return

The number of elements in the resulting sorted set.

See Also

https://redis.io/commands/zrangestore/

Returns the rank of member in the sorted set stored at key, with the scores ordered from low to high.

Return
  • If member exists in the sorted set, the rank of member.
  • If member does not exist in the sorted set or key does not exist, None.
See Also

https://redis.io/commands/zrank/

Removes the specified members from the sorted set stored at key.

Return

The number of members removed from the sorted set, not including non existing members.

See Also

https://redis.io/commands/zrem/

When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max.

Return

the number of elements removed.

See Also

https://redis.io/commands/zremrangebylex/

Removes all elements in the sorted set stored at key with rank between start and stop.

Return

the number of elements removed.

See Also

https://redis.io/commands/zremrangebyrank/

Removes all elements in the sorted set stored at key with a score between min and max (inclusive).

Return

the number of elements removed.

See Also

https://redis.io/commands/zremrangebyscore/

Returns the rank of member in the sorted set stored at key, with the scores ordered from high to low.

Return
  • If member exists in the sorted set, the rank of member.
  • If member does not exist in the sorted set or key does not exist, None.
See Also

https://redis.io/commands/zrevrank/

Iterates elements of Sorted Set types and their associated scores.

Returns

A tuple where

  • The first value is the cursor as an unsigned 64 bit number
  • The second value is a list of members and their scores in a Vec of Tuples
See Also

https://redis.io/commands/zscan/

Returns the score of member in the sorted set at key.

Return

The score of member or nil if keydoes not exist

See Also

https://redis.io/commands/zscore/

This command is similar to zunionstore, but instead of storing the resulting sorted set, it is returned to the client.

Return

The result of the unionsection as an array of members

See Also

https://redis.io/commands/zunion/

This command is similar to zunionstore, but instead of storing the resulting sorted set, it is returned to the client.

Return

The result of the unionsection as an array of members with their scores

See Also

https://redis.io/commands/zunion/

Computes the unionsection of numkeys sorted sets given by the specified keys, and stores the result in destination.

Return

The number of elements in the resulting sorted set at destination.

See Also

https://redis.io/commands/zunionstore/

Implementors