Query di range Redis

Query di range Redis
Redis ha vari tipi di dati per archiviare e gestire più tipi di dati nelle applicazioni. Questo tutorial ti fornisce comandi di intervallo fondamentale per recuperare i valori di un tipo specifico all'interno di un intervallo.

Tieni presente che questo tutorial non è un'introduzione ai tipi di dati Redis. Controlla il nostro tutorial sull'argomento per saperne di più.

Abbiamo testato i comandi ed esempi sull'ultima versione di Redis. Raccomandiamo di replicare un ambiente simile per ottenere la massima compatibilità. Ad esempio, comandi come GetRange potrebbero non funzionare nella versione 2.0 e inferiore.

Comando getRange

Il comando del primo intervallo che vedremo è il comando getRange. Il comando prende una chiave con un valore di stringa e restituisce una sottostringa del valore determinata dagli indici di avvio e finale.

La sintassi del comando è come mostrata:

End di inizio della chiave getRange

Inizia creando una chiave semplice e un valore in un database Redis come mostrato nel comando seguente:

127.0.0.1: 6379> Imposta mystring "Ciao, mondo da Redis!"

Successivamente, per ottenere una sottostringa a partire dall'indice 3 all'indice 10, possiamo fare:

127.0.0.1: 6379> getrange mystring 3 10
"Lo, Worl"

Si noti che l'indice della stringa all'indice 0 in avanti. I caratteri di spazi bianchi sono anche inclusi come caratteri validi.

Puoi anche intervallo negativo per ottenere gli ultimi elementi nella stringa. Ad esempio, per ottenere gli ultimi tre indici, possiamo farlo.

127.0.0.1: 6379> getrange mystring -3 -1
"È!"

La sintassi sopra ottiene gli ultimi tre caratteri nel valore della stringa.

Comando lRange.

Ti imbatterai spesso in questo comando quando lavori con elenchi in Redis. Il comando LRANGE restituisce un numero specificato di elementi in un elenco di Redis.

Prende la chiave dell'elenco e un valore di inizio e arresto. Allo stesso modo, l'indicizzazione degli elementi in un elenco di Redis inizia all'indice 0.

Inizia creando un elenco semplice come mostrato nel comando di esempio seguente:

Database Lpush MongoDB Mysql PostgreSQL Redis Firestore CockroachDB FaunaDB DocumentDB
(intero) 8

Il comando sopra crea un elenco Redis chiamato database e aggiunge i valori specificati.

È possibile utilizzare il comando LRANGE per ottenere elementi all'interno di un intervallo specifico. Ad esempio, per ottenere elementi dall'indice da 0 a 5, possiamo farlo.

127.0.0.1: 6379> database LRANGE 0 5
1) "DocumentDB"
2) "faunadb"
3) "Cockroachdb"
4) "Firestore"
5) "Redis"
6) "PostgreSQL"

Noterai che gli elementi iniziano con l'ultimo elemento inserito al primo. L'elenco è semplicemente una raccolta di elementi ordinati per ordine di inserimento.

Puoi anche usare un indice negativo per ottenere l'ultimo elemento da un elenco.

127.0.0.1: 6379> database LRANGE -5 -1
1) "Firestore"
2) "Redis"
3) "PostgreSQL"
4) "Mysql"
5) "MongoDB"

Il comando restituisce gli elementi dalla coda dell'elenco.

Se prendi un intervallo in cui non sono disponibili elementi, il comando restituirà un elenco vuoto come:

127.0.0.1: 6379> Database LRANGE 10 20
(Elenco vuoto o set)

Comando zrange

Il comando di intervallo successivo che devi avere familiarità è il comando zrange. Utilizzando il comando zrange, è possibile recuperare elementi all'interno di un intervallo specifico da un set ordinato.

Il comando prende il tasto set ordinato, un valore dell'indice start e arresto. Restituisce tutti gli elementi all'interno dell'intervallo specificato ordinati dal punteggio dal più basso al più alto.

La sintassi del comando può essere espressa come:

Zrange Key Start Stop

Per vedere come funziona il comando zrange, inizia creando un elenco ordinato usando i comandi come mostrato:

127.0.0.1: 6379> Lingue Zadd 1 Rust 2 Python 3 Go 5 C 4 C ++ 6 JavaScript 10 Java
(intero) 7

Il comando sopra aggiunge i valori e i loro punteggi corrispondenti al set ordinato "lingue".

Per recuperare gli elementi nel set all'interno di un intervallo di punteggio specifico, utilizzare il comando zrange come mostrato:

127.0.0.1: 6379> Lingue Zrange 1 5
1) "Python"
2) "Vai"
3) "C ++"
4) "C"
5) "JavaScript"

Il comando restituisce tutti gli elementi all'interno di tale intervallo ordinato per valore del punteggio.

Per mostrare gli elementi e il loro corrispondente valore del punteggio, utilizzare l'opzione WithScores come:

127.0.0.1: 6379> Lingue zrange 0 5 con punteggi
1) "ruggine"
2) "1"
3) "Python"
4) "2"
5) "Vai"
6) "3"
---Troncato---

Il comando dovrebbe restituire l'elemento e il suo punteggio.

Zrevrange

Il comando zrevrange funziona in modo simile al comando zrange. Tuttavia, restituisce i valori in ordine inverso, i.e., La gamma di punteggi inizia dal più alto al più basso.

Esempio

127.0.0.1: 6379> Lingue Zrevrange 0 5
1) "Java"
2) "JavaScript"
3) "C"
4) "C ++"
5) "Vai"
6) "Python"

In questo esempio, i risultati partono dal punteggio più alto al valore più basso. È possibile abilitare i punteggi utilizzando l'opzione WithScores.

127.0.0.1: 6379> Lingue Zrevrange 0 5 con punteggi
1) "Java"
2) "10"
3) "JavaScript"
4) "6"
5) "C"
6) "5"
7) "C ++"
8) "4"
9) "Vai"
10) "3"
11) "Python"
12) "2"

Notare come i punteggi sono in ordine inverso rispetto all'output del comando zrange.

Conclusione

Questa guida ti dà una procedura dettagliata di alcuni dei comandi della gamma fondamentale in Redis. Tieni presente che ci sono altri comandi di gamma come LTRIM, XRange e altro ancora. Considera la documentazione per i comandi non discussi in questa guida.