Latest web development tutorials

I tipi di dati Redis

Redis supporta cinque tipi di dati: string (stringa), hash (hash), la lista (lista), set (set) e zset (insieme ordinato: insieme ordinato).


String (String)

Redis stringa è il tipo più semplice, si può capire esattamente dello stesso tipo con Memcached, una chiave corrispondente ad un valore.

tipo di stringa è sicuro binaria. Significato Redis la stringa può contenere tutti i dati. Come ad esempio l'immagine JPG o una sequenza di oggetti.

Redis tipo stringa è i tipi di dati di base, una chiave può essere conservato al massimo 512MB.

Esempi

redis 127.0.0.1:6379> SET name "w3big"
OK
redis 127.0.0.1:6379> GET name
"w3big"

Nel precedente esempio usiamo Redis diimpostare e ottenerei comandi. Key è il nome, il corrispondente valore w3big.

Nota: Una chiave può memorizzare al massimo 512 MB.


Hash (cancelletto)

Redis hash è una raccolta di coppie chiave-valore.

Redis hash è un tipo stringa di campo e valore della tabella di mappatura, hash è particolarmente adatto per la memorizzazione di oggetti.

Esempi

127.0.0.1:6379> HMSET user:1 username w3big password w3big points 200
OK
127.0.0.1:6379> HGETALL user:1
1) "username"
2) "w3big"
3) "password"
4) "w3big"
5) "points"
6) "200"

Esempi dei tipi di dati di cui sopra memorizzati nella hash dell'oggetto utente che contiene gli script utente. Esempi usiamo Redis HMSET,comando HGETALL, utenti: 1 come chiave.

Ogni hash può memorizzare coppie chiave-valore 232-1 (4000000000).


List (lista)

lista Redis è un semplice elenco di stringhe ordinate ordine di inserimento. È possibile aggiungere un elemento alla testa della lista (a sinistra) o posteriore (a destra).

Esempi

redis 127.0.0.1:6379> lpush w3big redis
(integer) 1
redis 127.0.0.1:6379> lpush w3big mongodb
(integer) 2
redis 127.0.0.1:6379> lpush w3big rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange w3big 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>

Elenco può contenere fino 232--1 elemento (4,294,967,295 ciascuna lista in grado di memorizzare più di 4 miliardi).


Set (collezione)

Redis è una collezione non ordinata di Set tipo stringa.

Impostare la tabella hash per ottenere, in modo da aggiungere, eliminare, trovare la complessità è O (1).

comando Sadd

L'aggiunta di un elemento di stringa, chiave raccolta set corrispondente, il ritorno di successo 1 ritorno 0 se viene restituito l'elemento già presente nella collezione, tasto corrispondente al gruppo non esiste un errore.

sadd key member

Esempi

redis 127.0.0.1:6379> sadd w3big redis
(integer) 1
redis 127.0.0.1:6379> sadd w3big mongodb
(integer) 1
redis 127.0.0.1:6379> sadd w3big rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd w3big rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers w3big

1) "rabitmq"
2) "mongodb"
3) "redis"

Nota: L'esempio sopra rabitmq aggiunto due volte, ma sulla base di un unico insieme di elementi all'interno del secondo elemento di inserimento viene ignorato.

Impostare il numero massimo di membri 232--1 (4294967295 Ogni set può memorizzare più di 40 milioni di membri).


zset (insieme ordinato: un insieme ordinato)

Redis zset ed è impostato come un insieme di elementi di tipo stringa, e non permette membri duplicati.

La differenza è che sono associati con ciascun tipo di elemento di un doppio punteggio. E 'attraverso i punteggi Redis per piccole e grande ordine dei membri di raccolta.

membro Zset è unico, ma il punteggio (score) può essere ripetuto.

comando zadd

Aggiungere un elemento alla raccolta, l'elemento è presente nella collezione aggiorna le note corrispondenti

zadd key score member 

Esempi

redis 127.0.0.1:6379> zadd w3big 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd w3big 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd w3big 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd w3big 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE w3big 0 1000

1) "redis"
2) "mongodb"
3) "rabitmq"