redis
Redis Set Datatype
Ricerca…
introduzione
Redis supporta un set di dati analogo a set matematici per la modellazione dei dati nel database. Gli insiemi sono un tipo di dati composto costituito da un gruppo di membri unici e non ordinati. Imposta il supporto per l'aggiunta e la rimozione di membri, le operazioni sulle dimensioni, nonché le operazioni di combinazione che richiedono due set e generano un terzo set. I set in Redis sono simili agli Sets nella maggior parte dei linguaggi di programmazione.
Sintassi
- Membro chiave SADD [membro ...]
- Membro chiave di SISMEMBER
- Tasto SCARD
- Membro chiave SADD [membro ...]
Osservazioni
La documentazione completa sul tipo di dati set Redis è disponibile su Redis.io .
Dimensione di un set
La dimensione di un set può essere determinata usando il comando SCARD. SCARD restituirà la cardinalità di un set o il numero di membri nel set. Ad esempio, se avessi un set Redis my_set memorizzato nel database che sembrava (Apple, Orange, Banana), avrei potuto ottenere le dimensioni usando il seguente codice:
SCARD my_set
Nel caso del mio esempio impostato, ciò restituirebbe 3. Se l'utente esegue un comando SCARD su una chiave che non esiste, Redis restituirà 0.
Aggiungere elementi a un set
Il comando di base di Redis per aggiungere un elemento a un set è SADD. Prende una chiave e uno o più membri e li aggiunge al set memorizzato nella chiave specificata.
Ad esempio, diciamo che volevo creare un set con gli oggetti mela, pera e banana. Potrei eseguire una delle seguenti operazioni:
SADD fruit apple
SADD fruit pear
SADD fruit banana
o
SADD fruit apple pear banana
Dopo aver eseguito entrambi, avrò il frutto impostato con 3 elementi.
Il tentativo di aggiungere un elemento già presente nel set non avrà alcun effetto. Dopo aver impostato il mio set di frutta usando il codice sopra, se provo ad aggiungere nuovamente Apple:
SADD fruit apple
Redis tenterà di aggiungere la mela al set di frutta, ma dal momento che è già nel set nulla cambierà.
Il risultato del comando SADD è sempre il numero di elementi Redis aggiunti a un set. Quindi, tentando di aggiungere nuovamente apple, verrà restituito un risultato pari a 0.
Gli elementi membri in Redis distinguono tra maiuscole e minuscole, quindi Apple e Apple vengono considerati due elementi separati.
Test per l'iscrizione
Redis fornisce il comando SISMEMBER per verificare se un determinato elemento è già membro di un set. Utilizzando il comando SISMEMBER posso verificare e vedere se la mela è già un membro del mio set di frutta.
Se costruisco il mio frutto dall'esempio precedente, posso controllare e vedere se contiene apple usando il seguente test:
SISMEMBER fruit apple
SISMEMBER restituirà un 1 poiché l'articolo è già lì.
Se provassi a vedere se il cane è un membro del mio set di frutta:
SISMEMBER fruit dog
Redis restituirà uno 0 poiché il cane non è nella serie di frutta.
Se un utente tenta di utilizzare il comando SISMEMBER con una chiave che non esiste, Redis restituirà uno 0 che non indica l'appartenenza, ma se si utilizza SISMEMBER con una chiave che contiene già un tipo di dati non impostato, Redis restituirà un errore.