SISMEMBER / SMISMEMBER în Redis & In-Memory Data Store

Comenzi pentru seturi Redis 1.0.0

Verifică rapid dacă o valoare face parte dintr-un set; SMISMEMBER verifică mai multe valori deodată.

Sintaxă comandă
SISMEMBER key member
SMISMEMBER key member [member ...]

Ce face SISMEMBER / SMISMEMBER

SISMEMBER întoarce 1 dacă member este în set și 0 dacă nu. Verificarea este foarte rapidă, indiferent cât de mare este setul.

SMISMEMBER (din Redis 6.2.0) verifică mai mulți membri într-o singură comandă și întoarce câte un 0 sau 1 pentru fiecare, în ordinea cerută.

Parametri

Parametru Descriere
key Cheia setului.
member ... Valoarea (sau valorile) verificate.

Ce returnează

SISMEMBER: 1 sau 0. SMISMEMBER: o listă de 1/0 în ordinea membrilor.

Exemple

Exemplul 1: Are Ana dreptul de editare?

Verificare de permisiune înainte de a salva un articol.

SADD roluri:ana editor autor
SISMEMBER roluri:ana editor
SISMEMBER roluri:ana admin

Ieșire în redis-cli

127.0.0.1:6379> SADD roluri:ana editor autor
(integer) 2
127.0.0.1:6379> SISMEMBER roluri:ana editor
(integer) 1
127.0.0.1:6379> SISMEMBER roluri:ana admin
(integer) 0

Exemplul 2: Mai multe verificări deodată

Răspunsurile sunt în ordinea membrilor ceruți.

SMISMEMBER roluri:ana admin autor editor

Ieșire în redis-cli

127.0.0.1:6379> SMISMEMBER roluri:ana admin autor editor
1) (integer) 0
2) (integer) 1
3) (integer) 1

Greșeli frecvente

  • Nu citi tot setul cu SMEMBERS ca să cauți o valoare în aplicație: SISMEMBER face asta direct pe server.

Comenzi înrudite

  • SADD: Adaugă unul sau mai mulți membri într-un set (colecție fără duplicate); membrii existenți sunt ignorați.
  • SMEMBERS: Întoarce toți membrii unui set, fără o ordine garantată.
  • HEXISTS: Verifică dacă un câmp există într-un hash; întoarce 1 sau 0.