ZREM în Redis & In-Memory Data Store

Scoate membri dintr-un set sortat după nume (ZREM), după interval de scor sau după poziție.

Sintaxă comandă
ZREM key member [member ...]
ZREMRANGEBYSCORE key min max
ZREMRANGEBYRANK key start stop

Ce face ZREM

ZREM elimină membrii dați și întoarce câți au fost scoși. Din Redis 2.4.0 acceptă mai mulți membri.

ZREMRANGEBYSCORE șterge toți membrii cu scorul într-un interval (de exemplu evenimente mai vechi decât un moment dat, când scorul este un timestamp), iar ZREMRANGEBYRANK șterge după poziție (de exemplu tot în afară de primii 100).

Parametri

Parametru Descriere
member ... Membrii de scos (ZREM).
min max Interval de scor (ZREMRANGEBYSCORE); acceptă -inf, +inf și (.
start stop Interval de poziții (ZREMRANGEBYRANK).

Ce returnează

Un (integer): numărul de membri eliminați.

Exemple

Exemplul 1: Eliminarea unui jucător

„mihai” nu exista, deci se numără doar Elena.

ZADD clasament 1520 ana 1380 dan 1610 ioana 1200 elena
ZREM clasament elena mihai

Ieșire în redis-cli

127.0.0.1:6379> ZADD clasament 1520 ana 1380 dan 1610 ioana 1200 elena
(integer) 4
127.0.0.1:6379> ZREM clasament elena mihai
(integer) 1

Exemplul 2: Curățarea evenimentelor vechi

Scorul este momentul Unix al evenimentului; ștergem tot ce e mai vechi de 1792800000.

ZADD evenimente 1792790000 login:ana 1792805000 login:dan 1792810000 login:ioana
ZREMRANGEBYSCORE evenimente -inf (1792800000
ZREMRANGEBYRANK clasament 0 -3

Ieșire în redis-cli

127.0.0.1:6379> ZADD evenimente 1792790000 login:ana 1792805000 login:dan 1792810000 login:ioana
(integer) 3
127.0.0.1:6379> ZREMRANGEBYSCORE evenimente -inf (1792800000
(integer) 1
127.0.0.1:6379> ZREMRANGEBYRANK clasament 0 -3
(integer) 1

Greșeli frecvente

  • ZREMRANGEBYRANK k 0 -3 păstrează doar ultimele două poziții (scorurile cele mai mari) – verifică bine semnul indicilor.

Comenzi înrudite

  • ZADD: Adaugă membri cu un scor numeric într-un set sortat sau le actualizează scorul; baza clasamentelor din Redis.
  • ZRANGE: Întoarce membrii unui set sortat după poziție sau după scor (BYSCORE), crescător sau descrescător (REV), cu paginare (LIMIT).
  • ZCOUNT / ZCARD: ZCOUNT numără membrii cu scorul într-un interval; ZCARD întoarce numărul total de membri.
  • SREM: Scoate unul sau mai mulți membri dintr-un set; membrii care nu există sunt ignorați.