lrange method

Future<List<String?>> lrange(
  1. String key,
  2. int start,
  3. int stop
)

Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on.

These offsets can also be negative numbers indicating offsets starting at the end of the list. For example, -1 is the last element of the list, -2 the penultimate, and so on.

Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. This is not be consistent with behavior of range-related functions in the Dart programming language.

Out of range indexes will not produce an error. If start is larger than the end of the list, an empty list is returned. If stop is larger than the actual end of the list, Redis will treat it like the last element of the list.

Returns list of elements in the specified range.

Implementation

Future<List<String?>> lrange(String key, int start, int stop) async {
  final result = (await tier1.lrange(key, start, stop)).toArray().payload;
  if (result != null) {
    return result.map((e) => e.toBulkString().payload).toList(growable: false);
  }
  return [];
}