GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Tipi di dati Redis con comandi:guida completa

Introduzione

Redis è una soluzione di database straordinariamente veloce e non relazionale. Il suo semplice modello di dati chiave-valore consente a Redis di gestire set di dati di grandi dimensioni pur mantenendo velocità e disponibilità di lettura-scrittura impressionanti.

Redis ti consente di utilizzare vari tipi di dati come elenchi, hash, set e set ordinati per archiviare e gestire i dati.

In questo tutorial, scopri come Tipi di dati Redis lavoro e padroneggia i comandi di base per ogni tipo di dati.

Tipi di dati Redis

Un database chiave-valore struttura i dati applicando una chiave univoca a ciascun oggetto dati. Utilizzare la chiave per gestire e recuperare i valori assegnati a quella chiave specifica. Qualsiasi sequenza binaria di dimensioni fino a 512 MB può essere utilizzata come chiave Redis e quindi associata a semplici stringhe o altre strutture di dati astratte.

Le chiavi Redis vengono mappate ai valori utilizzando uno dei sette diversi tipi di dati:

  • Stringhe
  • Elenchi
  • Hash
  • Set
  • Set ordinati
  • Registri HyperLog
  • Bitmap (BitStrings)

Ogni tipo di dati Redis ha il proprio set di comandi per i modelli di accesso di routine, il supporto delle transazioni e le operazioni di massa se Redis non è installato, utilizza le nostre guide dettagliate per installare Redis su Ubuntu o distribuire Redis su Docker.

Stringhe

Una stringa rappresenta il valore più piccolo che puoi allegare a una chiave. La dimensione massima consentita di un valore di stringa è 512 MB, contenente qualsiasi sequenza di caratteri. In Redis, anche la parte chiave della coppia chiave-valore è una stringa.

I database che utilizzano questo tipo di struttura dati sono spesso indicati come archivi di valori-chiave da stringa a stringa.

Con tutti i dati in un unico oggetto, le operazioni sulle stringhe in Redis sono estremamente veloci. Comandi Redis di base come SET , GET e DEL consentono di eseguire operazioni essenziali sul valore della stringa.

  • SET key value – Imposta il valore per la chiave specificata.
  • GET key – Recupera il valore per la chiave specificata.
  • DEL key – Elimina il valore per la chiave data.

L'esempio seguente illustra come utilizzare questi semplici comandi all'interno di redis-cli shell interattiva. Il SET Il comando aggiunge il valore alla chiave mentre il GET il comando recupera e visualizza il valore. Se nessun valore è mappato alla chiave, il GET l'output del comando è (nil) .

Se esiste un valore, l'output per DEL comando mostra il numero di elementi eliminati. L'aggiunta di nuove chiavi e valori non influisce sulle prestazioni del database o sulla velocità di elaborazione.

Elenchi

Redis permette di associare ad una chiave una sequenza ordinata di stringhe. Questo elenco di stringhe collegato ti consente di eseguire una serie di operazioni come:

  • LPUSH – Sposta il valore all'estremità sinistra dell'elenco.
  • RPUSH – Spinge il valore alla fine dell'elenco.
  • LRANGE – Recupera una serie di elementi.
  • LPOP/RPOP – Utilizzato per visualizzare e rimuovere elementi da entrambe le estremità.
  • LINDEX – Ottenere un valore da una posizione specifica all'interno dell'elenco.

Quando si aggiungono valori a un elenco con LPUSH/RPUSH comandi, l'output fornisce il numero corrente di elementi. Puoi quindi recuperare l'intero elenco utilizzando il LRANGE comando con 0 come inizio e -1 a significare l'ultimo elemento dell'indice.

Recupera un valore specifico dall'elenco collegato utilizzando il LINDEX comandare o rimuovere elementi con il LPOP/RPOP comando.

L'aggiunta di valori a un elenco collegato è un'operazione efficiente che non influisce sulla velocità di scrittura indipendentemente dalle sue dimensioni. Tuttavia, la lettura dei dati da un elenco collegato può dipendere dal numero di stringhe sul lato valore della coppia chiave-valore.

Hash

Un hash Redis memorizza una mappatura non ordinata di coppie chiave-valore. Una chiave hash è associata a un valore. Il valore è una stringa Redis che contiene altre coppie chiave-valore. Non puoi utilizzare altre strutture di dati complesse, come Set, Liste o altri hash come valori.

I comandi hash di base ti consentono di accedere e modificare campi singoli o multipli in modo indipendente.

  • HSET – Mappa un valore su una chiave all'interno dell'hash.
  • HGET – Recupera i singoli valori associati a una chiave all'interno dell'hash.
  • HGETALL – Visualizza l'intero contenuto hash.
  • HDEL – Rimuove una coppia chiave-valore esistente da un hash.

Ogni volta che un elemento viene aggiunto all'hash con il HSET comando, un valore restituito (integer) n ti informa se esiste già una voce e il numero di istanze. Queste stesse informazioni vengono fornite quando si utilizza il HDEL comando.

Set

Un set Redis è una raccolta non ordinata di stringhe univoche. Poiché i set non sono ordinati, non è possibile rimuovere elementi dalla parte anteriore o finale dell'indice come con gli elenchi. Tuttavia, le stringhe sono univoche e non è possibile che più istanze dello stesso elemento appaiano all'interno di un set.

Utilizza i seguenti comandi per aggiungere, rimuovere, recuperare e ispezionare singoli elementi di un set:

  • SADD – Aggiungi uno o più elementi a un set.
  • SISMEMBER – Scopri se un articolo fa parte di un set.
  • SMEMBERS – Recupera tutti gli elementi da un set.
  • SREM – Rimuove un elemento esistente da un set.

L'aggiunta dello stesso articolo più volte a un set produce sempre una singola copia. Di conseguenza, non è necessario utilizzare il SMEMBERS o SISMEMBER comando per determinare se un elemento è già membro di un set.

Usa il SADD comando per assicurarsi che non ci siano voci duplicate all'interno di un set.

Set ordinati

Set ordinati o ZSET s sono uno dei tipi di dati più avanzati in Redis.

La parte del valore di una coppia chiave-valore impostata è composta da un elemento stringa univoco (chiave) chiamato membro e un elemento (valore) è chiamato punteggio . Gli insiemi ordinati associano ogni elemento a un valore a virgola mobile (punteggio ) e usa quel valore per ordinare gli elementi in un ordine specifico.

È possibile accedere agli elementi negli insiemi ordinati in base al membro, all'ordine ordinato e ai valori del punteggio. I comandi di base ti consentono di recuperare, aggiungere, rimuovere singoli valori o recuperare elementi in base ai valori dei membri e agli intervalli di punteggio.

  • ZADD – Aggiunge un membro con un punteggio al set ordinato.
  • ZRANGE – Recupera gli elementi in base alla loro posizione nell'ordine ordinato. Il withscores l'opzione produce i valori del punteggio effettivo.
  • ZRANGEBYSCORE – Recupera gli elementi dal set ordinato in base all'intervallo di punteggio definito. Il withscores l'opzione produce i valori del punteggio effettivo.
  • ZREM Rimuove gli elementi da un set ordinato.

Solo il membro il valore della coppia membro-punteggio viene considerato univoco. Se associ due punteggi diversi allo stesso membro valore, solo l'ultima aggiunta sarà presente nel set ordinato. Se due membri diversi avere lo stesso punteggio, Redis ordina i valori in modo alfanumerico.

Registri HyperLog

HyperLogLogs fornisce un conteggio stimato di elementi univoci in una raccolta. A differenza di altre soluzioni, gli elementi in un HyperLogLogs non vengono contati individualmente, poiché ciò richiederebbe di tenere traccia degli elementi precedenti per evitare di contare due volte lo stesso elemento. Tale operazione richiede una quantità di memoria pari alla memoria utilizzata per memorizzare i dati.

La struttura HyperLogLog utilizza un algoritmo probabilistico molto più efficiente che stima la dimensione di un set invece di contare ogni articolo. Il tasso di errore della stima è inferiore all'1%.

I comandi HyperLogLog ti consentono di aggiungere elementi, recuperare un conteggio stimato di elementi univoci e creare un'unione di più HyperLogLog.

  • PFADD – Aggiungi uno o più elementi a un HyperLogLog.
  • PFCOUNT – Recupera un conteggio stimato di elementi univoci da un unico HyperLogLog.
  • PFMERGE – Unisci diversi HyperLogLog in un unico HyperLogLog.

L'accuratezza dei risultati può variare in base alle dimensioni della collezione. Tuttavia, se non hai bisogno di un conteggio esatto degli elementi, questa struttura probabilistica ti consente di utilizzare solo una frazione della memoria di cui altrimenti avresti bisogno.

Bitmap

Una stringa Redis è una sequenza binaria con una dimensione massima di 512 megabyte. Le bitmap consentono di manipolare stringhe a livello di bit utilizzando i comandi appropriati.

  • SETBIT – Il bit viene definito o cancellato in base a un valore 0 o 1.
  • GETBIT – Recupera il valore del bit per il valore della stringa specificato da una chiave.
  • BITOP – Esegui operazioni bit per bit tra le stringhe.
  • BITPOS – Individua il primo bit impostato su 1 o 0 in una stringa.
  • BITCOUNT – Conta il numero di bit impostato su 1 in una stringa.

Essere in grado di manipolare frammenti di una stringa offre eccezionali opportunità di risparmio di spazio. Fornisce inoltre un mezzo per accedere e lavorare direttamente sugli elementi fondamentali dei dati.


Ubuntu
  1. Spiegazione dell'architettura Apache Hadoop (con diagrammi)

  2. Tipi di dati Cassandra:integrati, di raccolta e definiti dall'utente

  3. A partire da Vagrant su Ubuntu 14.10 - Una guida per principianti

  4. Cripta i tuoi dati con EncFS su Ubuntu 15.10

  5. Questa guida allo studio è sbagliata sui comandi per determinare i tipi di file?

Comandi Linux - Guida completa

Comandi Nmap con esempi

Una guida su come installare Ubuntu 15.04 con schermate

Copia i dati con rsync su Ubuntu

Come impostare la replica Redis (con la modalità cluster disabilitata) in CentOS 8 – Parte 1

Guida completa di hPanel