Ricerca…


introduzione

Il tipo di dati Set Sorted in Redis è una versione ordinata del tipo di dati Set. Un set ordinato di Redis consiste in una raccolta di membri unici. Ogni membro nel set ordinato può essere pensato come una coppia composta dal membro e da un punteggio. Il punteggio viene utilizzato per ordinare i membri all'interno del set in ordine crescente.

Sintassi

  • Tasto ZADD [NX | XX] [CH] [INCR] membro del punteggio [membro del punteggio ...]
  • Tasto ZCARD
  • ZCOUNT chiave min max
  • ZLEXCOUNT chiave min max

Osservazioni

La documentazione ufficiale per i set ordinati è disponibile sul sito Redis.io .

Gli insiemi ordinati sono a volte indicati come zsets. Se si utilizza il comando TYPE su una chiave set ordinata, verrà restituito il valore zset.

Aggiunta di elementi a un set ordinato

Redis fornisce il comando ZADD per aggiungere elementi a un set ordinato. La forma base del comando ZADD è specificare il set, l'elemento da aggiungere e il punteggio. Ad esempio, se volessi costruire un set ordinato del mio cibo preferito (dal meno al più), potrei usare uno dei seguenti:

zadd favs 1 apple
zadd favs 2 pizza
zadd favs 3 chocolate
zadd favs 4 beer

o in alternativa:

zadd favs 1 apple 2 pizza 3 chocolate 4 beer

La funzione ZADD funziona in modo molto simile alla funzione SADD impostata non ordinata. Il risultato del comando ZADD è il numero di elementi che sono stati aggiunti. Quindi, dopo aver creato il mio set come sopra, se avessi tentato nuovamente con la birra ZADD:

ZADD favs 4 beer

Avrei ottenuto un risultato 0, se avessi deciso che mi piace il cioccolato meglio della birra, potrei eseguire:

ZADD favs 3 beer 4 chocolate

per aggiornare le mie preferenze, ma otterrei comunque un risultato di ritorno 0 poiché sia ​​la birra che il cioccolato sono già nel set.

Conteggio degli oggetti in un set ordinato

Redis fornisce tre comandi per contare gli oggetti all'interno di un set ordinato: ZCARD, ZCOUNT, ZLEXCOUNT.

Il comando ZCARD è il test di base per la cardinalità di un set. (È analogo al comando SCARD per gli insiemi). ZCARD restituisce il conteggio dei membri di un set. Eseguendo il seguente codice per aggiungere elementi a un set:

zadd favs 1 apple
zadd favs 2 pizza
zadd favs 3 chocolate
zadd favs 4 beer

ZCard in esecuzione:

zcard favs

restituisce un valore di 4.

I comandi ZCOUNT e ZLEXCOUNT consentono di contare un sottoinsieme degli elementi in un set ordinato in base a un intervallo di valori. ZCOUNT ti consente di contare gli elementi all'interno di un particolare intervallo di punteggi e ZLEXCOUNT ti consente di contare il numero di elementi all'interno di un particolare intervallo lessografico.

Usando il nostro set sopra:

zcount favs 2 5

restituire un 3, dal momento che ci sono tre elementi (pizza, cioccolato, birra) che hanno punteggi compresi tra 2 e 5 inclusi.

ZLEXCOUNT è progettato per funzionare con insiemi in cui ogni articolo ha lo stesso punteggio, costringendo e ordinando i nomi dei nomi. Se abbiamo creato un set come:

zadd favs 1 apple
zadd favs 1 pizza
zadd favs 1 chocolate
zadd favs 1 beer

potremmo usare ZLEXCOUNT per ottenere il numero di elementi in particolare nell'intervallo lexografico (ciò avviene mediante confronto byte-saggio usando la funzione memcpy).

zlexcount favs [apple (chocolate

ritornerebbe 2, poiché due elementi (mela, birra) rientrano nel range mela (incluso) e cioccolato (esclusivo). Potremmo alternativamente fare entrambe le fini inclusive:

zlexcount favs [apple [chocolate

e ottieni il risultato 3.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow