XRANGE / XREVRANGE în Redis & In-Memory Data Store

Citește intrările unui stream dintre două ID-uri, în ordine crescătoare (XRANGE) sau descrescătoare (XREVRANGE).

Sintaxă comandă
XRANGE key start end [COUNT count]
XREVRANGE key end start [COUNT count]

Ce face XRANGE / XREVRANGE

XRANGE întoarce intrările dintre start și end, inclusiv. ID-urile speciale - și + înseamnă „cel mai mic” și „cel mai mare” ID. Poți da și doar partea de milisecunde, de exemplu un interval de timp.

XREVRANGE are argumentele inversate (întâi end, apoi start) și întoarce cele mai noi intrări primele. Din Redis 6.2.0 poți exclude un capăt cu (, util la paginare.

Parametri

Parametru Descriere
start end ID-urile de început și sfârșit; - și + pentru capete.
COUNT count Maximum de intrări întoarse.

Ce returnează

O listă de intrări (ID + listă de câmpuri și valori).

Exemple

Exemplul 1: Toate comenzile, maximum două

Fiecare intrare are ID-ul și câmpurile ei.

XRANGE comenzi - + COUNT 2

Ieșire în redis-cli

127.0.0.1:6379> XRANGE comenzi - + COUNT 2
1) 1) "1792915200000-0"
   2) 1) "client"
      2) "Ana"
      3) "oras"
      4) "Iasi"
      5) "total"
      6) "120"
2) 1) "1792915260000-0"
   2) 1) "client"
      2) "Dan"
      3) "oras"
      4) "Cluj"
      5) "total"
      6) "85"

Exemplul 2: Ultima comandă și pagina următoare

XREVRANGE ... COUNT 1 dă intrarea cea mai nouă. Pentru pagina următoare, pornești exclusiv de la ultimul ID văzut.

XREVRANGE comenzi + - COUNT 1
XRANGE comenzi (1792915260000-0 +

Ieșire în redis-cli

127.0.0.1:6379> XREVRANGE comenzi + - COUNT 1
1) 1) "1792915260000-0"
   2) 1) "client"
      2) "Dan"
      3) "oras"
      4) "Cluj"
      5) "total"
      6) "85"
127.0.0.1:6379> XRANGE comenzi (1792915260000-0 +
(empty array)

Greșeli frecvente

  • La XREVRANGE, ordinea argumentelor este end start: XREVRANGE k - + întoarce o listă goală.
  • Fără COUNT, pe un stream mare întorci toate intrările dintr-o dată.

Comenzi înrudite

  • XADD: Adaugă un eveniment (o intrare cu câmpuri și valori) la finalul unui stream Redis și întoarce ID-ul lui.
  • XREAD: Citește intrări noi din unul sau mai multe stream-uri, după un ID dat, opțional așteptând (BLOCK) până apar date.
  • LRANGE: Întoarce elementele unei liste dintre doi indici, inclusiv; LRANGE key 0 -1 întoarce toată lista.