Interface RScoredSortedSet<V>

Type Parameters:
V - object type
All Superinterfaces:
Iterable<V>, RExpirable, RExpirableAsync, RObject, RObjectAsync, RScoredSortedSetAsync<V>, RSortable<Set<V>>, RSortableAsync<Set<V>>
All Known Subinterfaces:
RGeo<V>
All Known Implementing Classes:
RedissonGeo, RedissonLexSortedSet, RedissonScoredSortedSet

public interface RScoredSortedSet<V> extends RScoredSortedSetAsync<V>, Iterable<V>, RExpirable, RSortable<Set<V>>
Set containing elements sorted by score.
Author:
Nikita Koksharov
  • Method Details

    • mapReduce

      <KOut, VOut> RCollectionMapReduce<V,KOut,VOut> mapReduce()
      Returns RMapReduce object associated with this object
      Type Parameters:
      KOut - output key
      VOut - output value
      Returns:
      MapReduce instance
    • pollLastFromAny

      V pollLastFromAny(long timeout, TimeUnit unit, String... queueNames)
      Removes and returns first available tail element of any sorted set, waiting up to the specified wait time if necessary for an element to become available in any of defined sorted sets including this one.

      Requires Redis 5.0.0 and higher.

      Parameters:
      queueNames - name of queues
      timeout - how long to wait before giving up, in units of unit
      unit - a TimeUnit determining how to interpret the timeout parameter
      Returns:
      the tail element, or null if all sorted sets are empty
    • pollLastFromAny

      List<V> pollLastFromAny(Duration duration, int count, String... queueNames)
      Removes and returns first available tail elements of any sorted set, waiting up to the specified wait time if necessary for elements to become available in any of defined sorted sets including this one.

      Requires Redis 7.0.0 and higher.

      Parameters:
      duration - how long to wait before giving up
      count - elements amount
      queueNames - name of queues
      Returns:
      the tail elements
    • pollLastFromAny

      List<V> pollLastFromAny(int count, String... queueNames)
      Removes and returns first available tail elements of any sorted set including this one.

      Requires Redis 7.0.0 and higher.

      Parameters:
      count - elements amount
      queueNames - name of queues
      Returns:
      the tail elements
    • pollLastEntriesFromAny

      Map<String,Map<V,Double>> pollLastEntriesFromAny(int count, String... queueNames)
      Removes and returns first available tail entries of any sorted set including this one.

      Requires Redis 7.0.0 and higher.

      Parameters:
      count - entries amount
      queueNames - name of queues
      Returns:
      the head entries
    • pollLastEntriesFromAny

      Map<String,Map<V,Double>> pollLastEntriesFromAny(Duration duration, int count, String... queueNames)
      Removes and returns first available tail entries of any sorted set, waiting up to the specified wait time if necessary for elements to become available in any of defined sorted sets including this one.

      Requires Redis 7.0.0 and higher.

      Parameters:
      duration - how long to wait before giving up
      count - entries amount
      queueNames - name of queues
      Returns:
      the tail entries
    • pollFirstFromAny

      V pollFirstFromAny(long timeout, TimeUnit unit, String... queueNames)
      Removes and returns first available head element of any sorted set, waiting up to the specified wait time if necessary for an element to become available in any of defined sorted sets including this one.

      Requires Redis 5.0.0 and higher.

      Parameters:
      queueNames - name of queues
      timeout - how long to wait before giving up, in units of unit
      unit - a TimeUnit determining how to interpret the timeout parameter
      Returns:
      the head element, or null if all sorted sets are empty
    • pollFirstFromAny

      List<V> pollFirstFromAny(Duration duration, int count, String... queueNames)
      Removes and returns first available head elements of any sorted set, waiting up to the specified wait time if necessary for elements to become available in any of defined sorted sets including this one.

      Requires Redis 7.0.0 and higher.

      Parameters:
      duration - how long to wait before giving up
      count - elements amount
      queueNames - name of queues
      Returns:
      the head elements
    • pollFirstFromAny

      List<V> pollFirstFromAny(int count, String... queueNames)
      Removes and returns first available head elements of any sorted set including this one.

      Requires Redis 7.0.0 and higher.

      Parameters:
      count - elements amount
      queueNames - name of queues
      Returns:
      the head elements
    • pollFirstEntriesFromAny

      Map<String,Map<V,Double>> pollFirstEntriesFromAny(int count, String... queueNames)
      Removes and returns first available head entries of any sorted set including this one.

      Requires Redis 7.0.0 and higher.

      Parameters:
      count - entries amount
      queueNames - name of queues
      Returns:
      the head elements
    • pollFirstEntriesFromAny

      Map<String,Map<V,Double>> pollFirstEntriesFromAny(Duration duration, int count, String... queueNames)
      Removes and returns first available head entries of any sorted set, waiting up to the specified wait time if necessary for elements to become available in any of defined sorted sets including this one.

      Requires Redis 7.0.0 and higher.

      Parameters:
      duration - how long to wait before giving up
      count - entries amount
      queueNames - name of queues
      Returns:
      the head entries
    • takeFirst

      V takeFirst()
      Removes and returns the head element waiting if necessary for an element to become available.
      Returns:
      the head element
    • takeLast

      V takeLast()
      Removes and returns the tail element waiting if necessary for an element to become available.
      Returns:
      the tail element
    • subscribeOnFirstElements

      int subscribeOnFirstElements(Consumer<V> consumer)
      Subscribes on first elements appeared in this set. Continuously invokes RScoredSortedSetAsync.takeFirstAsync() method to get a new element.
      Parameters:
      consumer - - queue elements listener
      Returns:
      listenerId - id of listener
    • subscribeOnLastElements

      int subscribeOnLastElements(Consumer<V> consumer)
      Subscribes on last elements appeared in this set. Continuously invokes RScoredSortedSetAsync.takeLastAsync() method to get a new element.
      Parameters:
      consumer - - queue elements listener
      Returns:
      listenerId - id of listener
    • unsubscribe

      void unsubscribe(int listenerId)
      Un-subscribes defined listener.
      Parameters:
      listenerId - - id of listener
    • pollFirst

      V pollFirst(long timeout, TimeUnit unit)
      Removes and returns the head element or null if this sorted set is empty.

      Requires Redis 5.0.0 and higher.

      Parameters:
      timeout - how long to wait before giving up, in units of unit
      unit - a TimeUnit determining how to interpret the timeout parameter
      Returns:
      the head element, or null if this sorted set is empty
    • pollFirst

      List<V> pollFirst(Duration duration, int count)
      Removes and returns the head elements.

      Requires Redis 7.0.0 and higher.

      Parameters:
      duration - how long to wait before giving up
      Returns:
      the head elements
    • pollLast

      V pollLast(long timeout, TimeUnit unit)
      Removes and returns the tail element or null if this sorted set is empty.

      Requires Redis 5.0.0 and higher.

      Parameters:
      timeout - how long to wait before giving up, in units of unit
      unit - a TimeUnit determining how to interpret the timeout parameter
      Returns:
      the tail element or null if this sorted set is empty
    • pollLast

      List<V> pollLast(Duration duration, int count)
      Removes and returns the tail elements.

      Requires Redis 7.0.0 and higher.

      Parameters:
      duration - how long to wait before giving up
      Returns:
      the tail elements
    • pollFirst

      Collection<V> pollFirst(int count)
      Removes and returns the head elements of this sorted set.
      Parameters:
      count - - elements amount
      Returns:
      the head elements of this sorted set
    • pollLast

      Collection<V> pollLast(int count)
      Removes and returns the tail elements of this sorted set.
      Parameters:
      count - - elements amount
      Returns:
      the tail elements of this sorted set
    • pollFirst

      V pollFirst()
      Removes and returns the head element or null if this sorted set is empty.
      Returns:
      the head element, or null if this sorted set is empty
    • pollLast

      V pollLast()
      Removes and returns the tail element or null if this sorted set is empty.
      Returns:
      the tail element or null if this sorted set is empty
    • first

      V first()
      Returns the head element or null if this sorted set is empty.
      Returns:
      the head element or null if this sorted set is empty
    • last

      V last()
      Returns the tail element or null if this sorted set is empty.
      Returns:
      the tail element or null if this sorted set is empty
    • firstScore

      Double firstScore()
      Returns score of the tail element or returns null if this sorted set is empty.
      Returns:
      the tail element or null if this sorted set is empty
    • lastScore

      Double lastScore()
      Returns score of the head element or returns null if this sorted set is empty.
      Returns:
      the tail element or null if this sorted set is empty
    • random

      V random()
      Returns random element from this sorted set

      Requires Redis 6.2.0 and higher.

      Returns:
      random element
    • random

      Collection<V> random(int count)
      Returns random elements from this sorted set limited by count

      Requires Redis 6.2.0 and higher.

      Parameters:
      count - - values amount to return
      Returns:
      random elements
    • randomEntries

      Map<V,Double> randomEntries(int count)
      Returns random entries from this sorted set limited by count. Each map entry uses element as key and score as value.

      Requires Redis 6.2.0 and higher.

      Parameters:
      count - - entries amount to return
      Returns:
      random entries
    • addAll

      int addAll(Map<V,Double> objects)
      Adds all elements contained in the specified map to this sorted set. Map contains of score mapped by object.
      Parameters:
      objects - - map of elements to add
      Returns:
      amount of added elements, not including already existing in this sorted set
    • addAllIfAbsent

      int addAllIfAbsent(Map<V,Double> objects)
      Adds elements to this set only if they haven't been added before.

      Requires Redis 3.0.2 and higher.

      Parameters:
      objects - map of elements to add
      Returns:
      amount of added elements
    • addAllIfExist

      int addAllIfExist(Map<V,Double> objects)
      Adds elements to this set only if they already exist.

      Requires Redis 3.0.2 and higher.

      Parameters:
      objects - map of elements to add
      Returns:
      amount of added elements
    • addAllIfGreater

      int addAllIfGreater(Map<V,Double> objects)
      Adds elements to this set only if new scores greater than current score of existed elements.

      Requires Redis 6.2.0 and higher.

      Parameters:
      objects - map of elements to add
      Returns:
      amount of added elements
    • addAllIfLess

      int addAllIfLess(Map<V,Double> objects)
      Adds elements to this set only if new scores less than current score of existed elements.

      Requires Redis 6.2.0 and higher.

      Parameters:
      objects - map of elements to add
      Returns:
      amount of added elements
    • removeRangeByScore

      int removeRangeByScore(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive)
      Removes values by score range.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      Returns:
      number of elements removed
    • removeRangeByRank

      int removeRangeByRank(int startIndex, int endIndex)
      Removes values by rank range. Indexes are zero based. -1 means the highest score, -2 means the second highest score.
      Parameters:
      startIndex - - start index
      endIndex - - end index
      Returns:
      number of elements removed
    • rank

      Integer rank(V o)
      Returns rank of value, with the scores ordered from low to high.
      Parameters:
      o - - object
      Returns:
      rank or null if value does not exist
    • revRank

      Integer revRank(V o)
      Returns rank of value, with the scores ordered from high to low.
      Parameters:
      o - - object
      Returns:
      rank or null if value does not exist
    • revRank

      List<Integer> revRank(Collection<V> elements)
      Returns ranks of elements, with the scores ordered from high to low.
      Parameters:
      elements - - elements
      Returns:
      ranks or null if value does not exist
    • getScore

      Double getScore(V o)
      Returns score of element or null if it doesn't exist.
      Parameters:
      o - - element
      Returns:
      score
    • getScore

      List<Double> getScore(List<V> elements)
      Returns scores of elements.
      Parameters:
      elements - - elements
      Returns:
      element scores
    • add

      boolean add(double score, V object)
      Adds element to this set, overrides previous score if it has been already added.
      Parameters:
      score - - object score
      object - - object itself
      Returns:
      true if element has added and false if not.
    • addAndGetRank

      Integer addAndGetRank(double score, V object)
      Adds element to this set, overrides previous score if it has been already added. Finally return the rank of the item
      Parameters:
      score - - object score
      object - - object itself
      Returns:
      rank
    • addAndGetRevRank

      Integer addAndGetRevRank(double score, V object)
      Adds element to this set, overrides previous score if it has been already added. Finally return the reverse rank of the item
      Parameters:
      score - - object score
      object - - object itself
      Returns:
      reverse rank
    • addAndGetRevRank

      List<Integer> addAndGetRevRank(Map<? extends V,Double> map)
      Adds elements to this set, overrides previous score if it has been already added. Finally returns reverse rank list of the items
      Parameters:
      map - - map of object and scores, make sure to use an ordered map
      Returns:
      collection of reverse ranks
    • tryAdd

      @Deprecated boolean tryAdd(double score, V object)
      Deprecated.
      Parameters:
      score - - object score
      object - - object itself
      Returns:
      true if element added and false if not.
    • addIfAbsent

      boolean addIfAbsent(double score, V object)
      Adds element to this set only if has not been added before.

      Requires Redis 3.0.2 and higher.

      Parameters:
      score - - object score
      object - - object itself
      Returns:
      true if element added and false if not.
    • addIfExists

      boolean addIfExists(double score, V object)
      Adds element to this set only if it's already exists.

      Requires Redis 3.0.2 and higher.

      Parameters:
      score - - object score
      object - - object itself
      Returns:
      true if element added and false if not.
    • addIfLess

      boolean addIfLess(double score, V object)
      Adds element to this set only if new score less than current score of existed element.

      Requires Redis 6.2.0 and higher.

      Parameters:
      score - - object score
      object - - object itself
      Returns:
      true if element added and false if not.
    • addIfGreater

      boolean addIfGreater(double score, V object)
      Adds element to this set only if new score greater than current score of existed element.

      Requires Redis 6.2.0 and higher.

      Parameters:
      score - - object score
      object - - object itself
      Returns:
      true if element added and false if not.
    • replace

      boolean replace(V oldObject, V newObject)
      Replaces a previous oldObject with a newObject. Returns false if previous object doesn't exist.
      Parameters:
      oldObject - old object
      newObject - new object
      Returns:
      true if object has been replaced otherwise false.
    • size

      int size()
      Returns size of this set.
      Returns:
      size
    • isEmpty

      boolean isEmpty()
      Returns true if this set is empty
      Returns:
      true if empty
    • stream

      Stream<V> stream()
      Returns stream of elements in this set. Elements are loaded in batch. Batch size is 10.
      Returns:
      stream of elements
    • stream

      Stream<V> stream(String pattern)
      Returns stream of elements in this set. If pattern is not null then only elements match this pattern are loaded.
      Parameters:
      pattern - - search pattern
      Returns:
      stream of elements
    • stream

      Stream<V> stream(int count)
      Returns stream of elements in this set. Elements are loaded in batch. Batch size is defined by count param.
      Parameters:
      count - - size of elements batch
      Returns:
      stream of elements
    • stream

      Stream<V> stream(String pattern, int count)
      Returns stream of elements in this set. Elements are loaded in batch. Batch size is defined by count param. If pattern is not null then only elements match this pattern are loaded.
      Parameters:
      pattern - - search pattern
      count - - size of elements batch
      Returns:
      stream of elements
    • iterator

      Iterator<V> iterator(String pattern)
      Returns an iterator over elements in this set. If pattern is not null then only elements match this pattern are loaded.
      Parameters:
      pattern - - search pattern
      Returns:
      iterator
    • iterator

      Iterator<V> iterator(int count)
      Returns an iterator over elements in this set. Elements are loaded in batch. Batch size is defined by count param.
      Parameters:
      count - - size of elements batch
      Returns:
      iterator
    • iterator

      Iterator<V> iterator(String pattern, int count)
      Returns an iterator over elements in this set. Elements are loaded in batch. Batch size is defined by count param. If pattern is not null then only elements match this pattern are loaded.
      Parameters:
      pattern - - search pattern
      count - - size of elements batch
      Returns:
      iterator
    • distributedIterator

      Iterator<V> distributedIterator(int count)
      Returns element iterator that can be shared across multiple applications. Creating multiple iterators on the same object with this method will result in a single shared iterator. See RSet.distributedIterator(String, String, int) for creating different iterators.
      Parameters:
      count - batch size
      Returns:
      shared elements iterator
    • distributedIterator

      Iterator<V> distributedIterator(String pattern)
      Returns iterator over elements that match specified pattern. Iterator can be shared across multiple applications. Creating multiple iterators on the same object with this method will result in a single shared iterator. See RSet.distributedIterator(String, String, int) for creating different iterators.
      Parameters:
      pattern - element pattern
      Returns:
      shared elements iterator
    • distributedIterator

      Iterator<V> distributedIterator(String iteratorName, String pattern, int count)
      Returns iterator over elements that match specified pattern. Iterator can be shared across multiple applications. Creating multiple iterators on the same object with this method will result in a single shared iterator. Iterator name must be resolved to the same hash slot as set name.
      Parameters:
      pattern - element pattern
      count - batch size
      iteratorName - redis object name to which cursor will be saved
      Returns:
      shared elements iterator
    • contains

      boolean contains(Object o)
      Returns true if this sorted set contains encoded state of the specified element.
      Parameters:
      o - element whose presence in this collection is to be tested
      Returns:
      true if this sorted set contains the specified element and false otherwise
    • toArray

      Object[] toArray()
      Returns this sorted set in array of Object type.
      Returns:
      array of values
    • toArray

      <T> T[] toArray(T[] a)
      Returns this sorted set in array of defined type.
      Type Parameters:
      T - type of element
      Parameters:
      a - - instance of array
      Returns:
      array of values
    • remove

      boolean remove(Object o)
      Removes a single instance of the specified element from this sorted set, if it is present.
      Parameters:
      o - element to be removed from this sorted set, if present
      Returns:
      true if an element was removed as a result of this call
    • containsAll

      boolean containsAll(Collection<?> c)
      Returns true if this sorted set contains all of the elements in encoded state in the specified collection.
      Parameters:
      c - collection to be checked for containment in this sorted set
      Returns:
      true if this sorted set contains all of the elements in the specified collection
    • removeAll

      boolean removeAll(Collection<?> c)
      Removes all of this sorted set's elements that are also contained in the specified collection.
      Parameters:
      c - collection containing elements to be removed from this collection
      Returns:
      true if this sorted set changed as a result of the call
    • retainAll

      boolean retainAll(Collection<?> c)
      Retains only the elements in this sorted set that are contained in the specified collection.
      Parameters:
      c - collection containing elements to be retained in this collection
      Returns:
      true if this sorted set changed as a result of the call
    • clear

      void clear()
      Removes all elements of this sorted set.
    • addScore

      Double addScore(V element, Number value)
      Increases score of specified element by value.
      Parameters:
      element - - element whose score needs to be increased
      value - - value
      Returns:
      updated score of element
    • addScoreAndGetRank

      Integer addScoreAndGetRank(V object, Number value)
      Adds score to element and returns its rank
      Parameters:
      object - - object itself
      value - - object score
      Returns:
      rank
    • addScoreAndGetRevRank

      Integer addScoreAndGetRevRank(V object, Number value)
      Adds score to element and returns its reverse rank
      Parameters:
      object - - object itself
      value - - object score
      Returns:
      reverse rank
    • rangeTo

      int rangeTo(String destName, int startIndex, int endIndex)
      Stores to defined ScoredSortedSet values by rank range. Indexes are zero based. -1 means the highest score, -2 means the second highest score.

      Requires Redis 6.2.0 and higher.

      Parameters:
      startIndex - - start index
      endIndex - - end index
      Returns:
      elements
    • rangeTo

      int rangeTo(String destName, double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive)
      Stores to defined ScoredSortedSet values between startScore and endScore.

      Requires Redis 6.2.0 and higher.

      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      Returns:
      values
    • rangeTo

      int rangeTo(String destName, double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive, int offset, int count)
      Stores to defined ScoredSortedSet values between startScore and endScore.

      Requires Redis 6.2.0 and higher.

      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      offset - - offset of sorted data
      count - - amount of sorted data
      Returns:
      values
    • revRangeTo

      int revRangeTo(String destName, int startIndex, int endIndex)
      Stores to defined ScoredSortedSet values in reversed order by rank range. Indexes are zero based. -1 means the highest score, -2 means the second highest score.

      Requires Redis 6.2.0 and higher.

      Parameters:
      startIndex - - start index
      endIndex - - end index
      Returns:
      elements
    • revRangeTo

      int revRangeTo(String destName, double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive)
      Stores to defined ScoredSortedSet values in reversed order between startScore and endScore.

      Requires Redis 6.2.0 and higher.

      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      Returns:
      values
    • revRangeTo

      int revRangeTo(String destName, double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive, int offset, int count)
      Stores to defined ScoredSortedSet values in reversed order between startScore and endScore.

      Requires Redis 6.2.0 and higher.

      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      offset - - offset of sorted data
      count - - amount of sorted data
      Returns:
      values
    • valueRange

      Collection<V> valueRange(int startIndex, int endIndex)
      Returns values by rank range. Indexes are zero based. -1 means the highest score, -2 means the second highest score.
      Parameters:
      startIndex - - start index
      endIndex - - end index
      Returns:
      elements
    • valueRangeReversed

      Collection<V> valueRangeReversed(int startIndex, int endIndex)
      Returns values by rank range in reverse order. Indexes are zero based. -1 means the highest score, -2 means the second highest score.
      Parameters:
      startIndex - - start index
      endIndex - - end index
      Returns:
      elements
    • entryRange

      Collection<ScoredEntry<V>> entryRange(int startIndex, int endIndex)
      Returns entries (value and its score) by rank range. Indexes are zero based. -1 means the highest score, -2 means the second highest score.
      Parameters:
      startIndex - - start index
      endIndex - - end index
      Returns:
      entries
    • entryRangeReversed

      Collection<ScoredEntry<V>> entryRangeReversed(int startIndex, int endIndex)
      Returns entries (value and its score) by rank range in reverse order. Indexes are zero based. -1 means the highest score, -2 means the second highest score.
      Parameters:
      startIndex - - start index
      endIndex - - end index
      Returns:
      entries
    • valueRange

      Collection<V> valueRange(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive)
      Returns all values between startScore and endScore.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      Returns:
      values
    • valueRangeReversed

      Collection<V> valueRangeReversed(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive)
      Returns all values between startScore and endScore in reversed order.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      Returns:
      values
    • entryRange

      Collection<ScoredEntry<V>> entryRange(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive)
      Returns all entries (value and its score) between startScore and endScore.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      Returns:
      entries
    • valueRange

      Collection<V> valueRange(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive, int offset, int count)
      Returns all values between startScore and endScore.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      offset - - offset of sorted data
      count - - amount of sorted data
      Returns:
      values
    • valueRangeReversed

      Collection<V> valueRangeReversed(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive, int offset, int count)
      Returns all values between startScore and endScore in reversed order.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      offset - - offset of sorted data
      count - - amount of sorted data
      Returns:
      values
    • entryRange

      Collection<ScoredEntry<V>> entryRange(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive, int offset, int count)
      Returns all entries (value and its score) between startScore and endScore.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      offset - - offset of sorted data
      count - - amount of sorted data
      Returns:
      entries
    • entryRangeReversed

      Collection<ScoredEntry<V>> entryRangeReversed(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive)
      Returns all entries (value and its score) between startScore and endScore in reversed order.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      Returns:
      entries
    • entryRangeReversed

      Collection<ScoredEntry<V>> entryRangeReversed(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive, int offset, int count)
      Returns all entries (value and its score) between startScore and endScore in reversed order.
      Parameters:
      startScore - - start score. Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      startScoreInclusive - - start score inclusive
      endScore - - end score Use Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY to define infinity numbers
      endScoreInclusive - - end score inclusive
      offset - - offset of sorted data
      count - - amount of sorted data
      Returns:
      entries
    • count

      int count(double startScore, boolean startScoreInclusive, double endScore, boolean endScoreInclusive)
      Returns the number of elements with a score between startScore and endScore.
      Parameters:
      startScore - - start score
      startScoreInclusive - - start score inclusive
      endScore - - end score
      endScoreInclusive - - end score inclusive
      Returns:
      count of elements
    • readAll

      Collection<V> readAll()
      Read all values at once.
      Returns:
      values
    • intersection

      int intersection(String... names)
      Intersect provided ScoredSortedSets and store result to current ScoredSortedSet
      Parameters:
      names - - names of ScoredSortedSet
      Returns:
      length of intersection
    • intersection

      int intersection(RScoredSortedSet.Aggregate aggregate, String... names)
      Intersect provided ScoredSortedSets with defined aggregation method and store result to current ScoredSortedSet
      Parameters:
      aggregate - - score aggregation mode
      names - - names of ScoredSortedSet
      Returns:
      length of intersection
    • intersection

      int intersection(Map<String,Double> nameWithWeight)
      Intersect provided ScoredSortedSets mapped to weight multiplier and store result to current ScoredSortedSet
      Parameters:
      nameWithWeight - - name of ScoredSortedSet mapped to weight multiplier
      Returns:
      length of intersection
    • intersection

      int intersection(RScoredSortedSet.Aggregate aggregate, Map<String,Double> nameWithWeight)
      Intersect provided ScoredSortedSets mapped to weight multiplier with defined aggregation method and store result to current ScoredSortedSet
      Parameters:
      aggregate - - score aggregation mode
      nameWithWeight - - name of ScoredSortedSet mapped to weight multiplier
      Returns:
      length of intersection
    • readIntersection

      Collection<V> readIntersection(String... names)
      Intersect provided ScoredSortedSets with current ScoredSortedSet without state change

      Requires Redis 6.2.0 and higher.

      Parameters:
      names - - names of ScoredSortedSet
      Returns:
      result of intersection
    • readIntersection

      Collection<V> readIntersection(RScoredSortedSet.Aggregate aggregate, String... names)
      Intersect provided ScoredSortedSets with current ScoredSortedSet using defined aggregation method without state change

      Requires Redis 6.2.0 and higher.

      Parameters:
      aggregate - - score aggregation mode
      names - - names of ScoredSortedSet
      Returns:
      result of intersection
    • readIntersection

      Collection<V> readIntersection(Map<String,Double> nameWithWeight)
      Intersect provided ScoredSortedSets mapped to weight multiplier with current ScoredSortedSet without state change

      Requires Redis 6.2.0 and higher.

      Parameters:
      nameWithWeight - - name of ScoredSortedSet mapped to weight multiplier
      Returns:
      result of intersection
    • countIntersection

      Integer countIntersection(String... names)
      Counts elements of set as a result of sets intersection with current set.

      Requires Redis 7.0.0 and higher.

      Parameters:
      names - - name of sets
      Returns:
      amount of elements
    • countIntersection

      Integer countIntersection(int limit, String... names)
      Counts elements of set as a result of sets intersection with current set.

      Requires Redis 7.0.0 and higher.

      Parameters:
      names - - name of sets
      limit - - sets intersection limit
      Returns:
      amount of elements
    • readIntersection

      Collection<V> readIntersection(RScoredSortedSet.Aggregate aggregate, Map<String,Double> nameWithWeight)
      Intersect provided ScoredSortedSets mapped to weight multiplier with current ScoredSortedSet using defined aggregation method without state change

      Requires Redis 6.2.0 and higher.

      Parameters:
      aggregate - - score aggregation mode
      nameWithWeight - - name of ScoredSortedSet mapped to weight multiplier
      Returns:
      result of intersection
    • union

      int union(String... names)
      Union provided ScoredSortedSets and store result to current ScoredSortedSet
      Parameters:
      names - - names of ScoredSortedSet
      Returns:
      length of union
    • union

      int union(RScoredSortedSet.Aggregate aggregate, String... names)
      Union provided ScoredSortedSets with defined aggregation method and store result to current ScoredSortedSet
      Parameters:
      aggregate - - score aggregation mode
      names - - names of ScoredSortedSet
      Returns:
      length of union
    • union

      int union(Map<String,Double> nameWithWeight)
      Union provided ScoredSortedSets mapped to weight multiplier and store result to current ScoredSortedSet
      Parameters:
      nameWithWeight - - name of ScoredSortedSet mapped to weight multiplier
      Returns:
      length of union
    • union

      int union(RScoredSortedSet.Aggregate aggregate, Map<String,Double> nameWithWeight)
      Union provided ScoredSortedSets mapped to weight multiplier with defined aggregation method and store result to current ScoredSortedSet
      Parameters:
      aggregate - - score aggregation mode
      nameWithWeight - - name of ScoredSortedSet mapped to weight multiplier
      Returns:
      length of union
    • readUnion

      Collection<V> readUnion(String... names)
      Union ScoredSortedSets specified by name with current ScoredSortedSet without state change.

      Requires Redis 6.2.0 and higher.

      Parameters:
      names - - names of ScoredSortedSet
      Returns:
      result of union
    • readUnion

      Collection<V> readUnion(RScoredSortedSet.Aggregate aggregate, String... names)
      Union ScoredSortedSets specified by name with defined aggregation method and current ScoredSortedSet without state change.

      Requires Redis 6.2.0 and higher.

      Parameters:
      aggregate - - score aggregation mode
      names - - names of ScoredSortedSet
      Returns:
      result of union
    • readUnion

      Collection<V> readUnion(Map<String,Double> nameWithWeight)
      Union provided ScoredSortedSets mapped to weight multiplier and current ScoredSortedSet without state change.

      Requires Redis 6.2.0 and higher.

      Parameters:
      nameWithWeight - - name of ScoredSortedSet mapped to weight multiplier
      Returns:
      result of union
    • readUnion

      Collection<V> readUnion(RScoredSortedSet.Aggregate aggregate, Map<String,Double> nameWithWeight)
      Union provided ScoredSortedSets mapped to weight multiplier with defined aggregation method and current ScoredSortedSet without state change

      Requires Redis 6.2.0 and higher.

      Parameters:
      aggregate - - score aggregation mode
      nameWithWeight - - name of ScoredSortedSet mapped to weight multiplier
      Returns:
      result of union
    • readDiff

      Collection<V> readDiff(String... names)
      Diff ScoredSortedSets specified by name with current ScoredSortedSet without state change.

      Requires Redis 6.2.0 and higher.

      Parameters:
      names - - name of sets
      Returns:
      result of diff
    • diff

      int diff(String... names)
      Diff provided ScoredSortedSets and store result to current ScoredSortedSet

      Requires Redis 6.2.0 and higher.

      Parameters:
      names - - name of sets
      Returns:
      length of diff