Trait rustis::commands::TopKCommands

source ·
pub trait TopKCommands<'a> {
    // Provided methods
    fn topk_add<I: SingleArg, R: PrimitiveResponse + DeserializeOwned, RR: CollectionResponse<R>>(
        self,
        key: impl SingleArg,
        items: impl SingleArgCollection<I>
    ) -> PreparedCommand<'a, Self, RR>
       where Self: Sized { ... }
    fn topk_incrby<I: SingleArg, R: PrimitiveResponse + DeserializeOwned, RR: CollectionResponse<R>>(
        self,
        key: impl SingleArg,
        items: impl KeyValueArgsCollection<I, i64>
    ) -> PreparedCommand<'a, Self, RR>
       where Self: Sized { ... }
    fn topk_info(
        self,
        key: impl SingleArg
    ) -> PreparedCommand<'a, Self, TopKInfoResult>
       where Self: Sized { ... }
    fn topk_list<R: PrimitiveResponse + DeserializeOwned, RR: CollectionResponse<R>>(
        self,
        key: impl SingleArg
    ) -> PreparedCommand<'a, Self, RR>
       where Self: Sized { ... }
    fn topk_list_with_count<N: PrimitiveResponse + DeserializeOwned>(
        self,
        key: impl SingleArg
    ) -> PreparedCommand<'a, Self, TopKListWithCountResult<N>>
       where Self: Sized { ... }
    fn topk_query<I: SingleArg, R: CollectionResponse<bool>>(
        self,
        key: impl SingleArg,
        items: impl SingleArgCollection<I>
    ) -> PreparedCommand<'a, Self, R>
       where Self: Sized { ... }
    fn topk_reserve(
        self,
        key: impl SingleArg,
        topk: usize,
        width_depth_decay: Option<(usize, usize, f64)>
    ) -> PreparedCommand<'a, Self, ()>
       where Self: Sized { ... }
}
Available on crate feature redis-bloom only.
Expand description

A group of Redis commands related to Top-K

§See Also

Top-K Commands

Provided Methods§

source

fn topk_add<I: SingleArg, R: PrimitiveResponse + DeserializeOwned, RR: CollectionResponse<R>>( self, key: impl SingleArg, items: impl SingleArgCollection<I> ) -> PreparedCommand<'a, Self, RR>
where Self: Sized,

Adds an item to the data structure.

Multiple items can be added at once. If an item enters the Top-K list, the item which is expelled is returned. This allows dynamic heavy-hitter detection of items being entered or expelled from Top-K list.

§Arguments
  • key - Name of sketch where item is added.
  • items - Item/s to be added.
§Return

Collection of items if an element was dropped from the TopK list, Null reply otherwise.

§See Also
source

fn topk_incrby<I: SingleArg, R: PrimitiveResponse + DeserializeOwned, RR: CollectionResponse<R>>( self, key: impl SingleArg, items: impl KeyValueArgsCollection<I, i64> ) -> PreparedCommand<'a, Self, RR>
where Self: Sized,

Increase the score of an item in the data structure by increment.

Multiple items’ score can be increased at once. If an item enters the Top-K list, the item which is expelled is returned.

§Arguments
  • key - Name of sketch where item is added.
  • items - collection of tuples:
    • item - Item to be added
    • increment - increment to current item score.
      Increment must be greater or equal to 1.
      Increment is limited to 100,000 to avoid server freeze.
§Return

Collection of items if an element was dropped from the TopK list, Null reply otherwise.

§See Also
source

fn topk_info( self, key: impl SingleArg ) -> PreparedCommand<'a, Self, TopKInfoResult>
where Self: Sized,

Returns number of required items (k), width, depth and decay values.

§Arguments
  • key - Name of sketch
§Return

An instance of TopKInfoResult

§See Also
source

fn topk_list<R: PrimitiveResponse + DeserializeOwned, RR: CollectionResponse<R>>( self, key: impl SingleArg ) -> PreparedCommand<'a, Self, RR>
where Self: Sized,

Return full list of items in Top K list.

§Arguments
  • key - Key under which the sketch is to be found.
§Return

a collection of k (or less) items in Top K list.

§See Also
source

fn topk_list_with_count<N: PrimitiveResponse + DeserializeOwned>( self, key: impl SingleArg ) -> PreparedCommand<'a, Self, TopKListWithCountResult<N>>
where Self: Sized,

Return full list of items in Top K list.

§Arguments
  • key - Key under which the sketch is to be found.
§Return

a collection of k (or less) pairs of items in Top K list. Each pair holds:

  • the name of the item
  • the count of the item
§See Also
source

fn topk_query<I: SingleArg, R: CollectionResponse<bool>>( self, key: impl SingleArg, items: impl SingleArgCollection<I> ) -> PreparedCommand<'a, Self, R>
where Self: Sized,

Return full list of items in Top K list.

§Arguments
  • key - Key under which the sketch is to be found.
  • items - Item/s to be queried.
§Return

a collection of k boolean:

  • true - if item is in Top-K
  • false - otherwise
§See Also
source

fn topk_reserve( self, key: impl SingleArg, topk: usize, width_depth_decay: Option<(usize, usize, f64)> ) -> PreparedCommand<'a, Self, ()>
where Self: Sized,

Initializes a TopK with specified parameters.

§Arguments
  • key - Key under which the sketch is to be found.
  • topk - Number of top occurring items to keep.
  • width_depth_decay - Optional paramaters:
    • width - Number of counters kept in each array. (Default 8)
    • depth - Number of arrays. (Default 7)
    • decay - The probability of reducing a counter in an occupied bucket.
      It is raised to power of it’s counter (decay ^ bucket[i].counter).
      Therefore, as the counter gets higher, the chance of a reduction is being reduced. (Default 0.9)
§See Also

Implementors§

source§

impl<'a> TopKCommands<'a> for &'a Client

source§

impl<'a> TopKCommands<'a> for &'a mut Transaction

source§

impl<'a, 'b> TopKCommands<'a> for &'a mut Pipeline<'b>