En aquest tema, explorarem els tipus de dades bàsics que Redis ofereix. Redis és conegut per la seva simplicitat i eficiència, i una part clau d'aquesta simplicitat és la seva gestió de tipus de dades. A continuació, veurem els tipus de dades més comuns que Redis suporta i com utilitzar-los.

Tipus de Dades Bàsiques

Redis suporta cinc tipus de dades bàsics:

  1. Cadenes (Strings)
  2. Llistes (Lists)
  3. Conjunts (Sets)
  4. Hashs
  5. Conjunts Ordenats (Sorted Sets)

  1. Cadenes (Strings)

Les cadenes són el tipus de dades més bàsic de Redis. Poden emmagatzemar qualsevol tipus de dades, com ara text o nombres.

Comandes Principals

  • SET key value: Estableix el valor d'una clau.
  • GET key: Obté el valor d'una clau.

Exemple

SET mykey "Hello, Redis!"
GET mykey

Explicació:

  • SET mykey "Hello, Redis!" emmagatzema la cadena "Hello, Redis!" sota la clau mykey.
  • GET mykey retorna el valor associat a mykey, que és "Hello, Redis!".

  1. Llistes (Lists)

Les llistes són col·leccions ordenades de cadenes. Redis permet afegir elements a l'inici o al final de la llista.

Comandes Principals

  • LPUSH key value: Afegeix un element al començament de la llista.
  • RPUSH key value: Afegeix un element al final de la llista.
  • LPOP key: Elimina i retorna el primer element de la llista.
  • RPOP key: Elimina i retorna l'últim element de la llista.
  • LRANGE key start stop: Retorna una subllista especificada pels índexs start i stop.

Exemple

LPUSH mylist "world"
LPUSH mylist "hello"
LRANGE mylist 0 -1

Explicació:

  • LPUSH mylist "world" afegeix "world" al començament de la llista mylist.
  • LPUSH mylist "hello" afegeix "hello" al començament de la llista mylist.
  • LRANGE mylist 0 -1 retorna tots els elements de la llista mylist, que són ["hello", "world"].

  1. Conjunts (Sets)

Els conjunts són col·leccions no ordenades de cadenes úniques. Això significa que no poden contenir elements duplicats.

Comandes Principals

  • SADD key value: Afegeix un element al conjunt.
  • SREM key value: Elimina un element del conjunt.
  • SMEMBERS key: Retorna tots els elements del conjunt.

Exemple

SADD myset "apple"
SADD myset "banana"
SADD myset "apple"
SMEMBERS myset

Explicació:

  • SADD myset "apple" afegeix "apple" al conjunt myset.
  • SADD myset "banana" afegeix "banana" al conjunt myset.
  • SADD myset "apple" no té efecte perquè "apple" ja està present en el conjunt.
  • SMEMBERS myset retorna tots els elements del conjunt myset, que són ["apple", "banana"].

  1. Hashs

Els hashs són col·leccions de parells camp-valor. Són útils per emmagatzemar objectes.

Comandes Principals

  • HSET key field value: Estableix el valor d'un camp en un hash.
  • HGET key field: Obté el valor d'un camp en un hash.
  • HGETALL key: Retorna tots els camps i valors d'un hash.

Exemple

HSET myhash field1 "value1"
HSET myhash field2 "value2"
HGET myhash field1
HGETALL myhash

Explicació:

  • HSET myhash field1 "value1" estableix el valor de field1 a "value1" en el hash myhash.
  • HSET myhash field2 "value2" estableix el valor de field2 a "value2" en el hash myhash.
  • HGET myhash field1 retorna el valor de field1, que és "value1".
  • HGETALL myhash retorna tots els camps i valors del hash myhash, que són {"field1": "value1", "field2": "value2"}.

  1. Conjunts Ordenats (Sorted Sets)

Els conjunts ordenats són similars als conjunts, però cada element té un valor de puntuació associat que determina l'ordre.

Comandes Principals

  • ZADD key score member: Afegeix un element amb una puntuació al conjunt ordenat.
  • ZRANGE key start stop [WITHSCORES]: Retorna una subllista ordenada pels índexs start i stop.

Exemple

ZADD myzset 1 "one"
ZADD myzset 2 "two"
ZRANGE myzset 0 -1 WITHSCORES

Explicació:

  • ZADD myzset 1 "one" afegeix "one" amb una puntuació de 1 al conjunt ordenat myzset.
  • ZADD myzset 2 "two" afegeix "two" amb una puntuació de 2 al conjunt ordenat myzset.
  • ZRANGE myzset 0 -1 WITHSCORES retorna tots els elements del conjunt ordenat myzset amb les seves puntuacions, que són ["one", 1, "two", 2].

Exercicis Pràctics

Exercici 1: Treballant amb Cadenes

  1. Estableix una clau greeting amb el valor "Hello, World!".
  2. Obté el valor de la clau greeting.

Solució:

SET greeting "Hello, World!"
GET greeting

Exercici 2: Treballant amb Llistes

  1. Afegeix "first" i "second" a una llista mylist utilitzant RPUSH.
  2. Obté tots els elements de la llista mylist.

Solució:

RPUSH mylist "first"
RPUSH mylist "second"
LRANGE mylist 0 -1

Exercici 3: Treballant amb Conjunts

  1. Afegeix "cat" i "dog" a un conjunt animals.
  2. Obté tots els elements del conjunt animals.

Solució:

SADD animals "cat"
SADD animals "dog"
SMEMBERS animals

Exercici 4: Treballant amb Hashs

  1. Estableix name a "John" i age a "30" en un hash person.
  2. Obté tots els camps i valors del hash person.

Solució:

HSET person name "John"
HSET person age "30"
HGETALL person

Exercici 5: Treballant amb Conjunts Ordenats

  1. Afegeix "apple" amb una puntuació de 10 i "banana" amb una puntuació de 20 a un conjunt ordenat fruits.
  2. Obté tots els elements del conjunt ordenat fruits amb les seves puntuacions.

Solució:

ZADD fruits 10 "apple"
ZADD fruits 20 "banana"
ZRANGE fruits 0 -1 WITHSCORES

Conclusió

En aquesta secció, hem après sobre els tipus de dades bàsics de Redis: cadenes, llistes, conjunts, hashs i conjunts ordenats. Aquests tipus de dades són fonamentals per treballar amb Redis i proporcionen una base sòlida per a les operacions més avançades que veurem en els següents mòduls.

© Copyright 2024. Tots els drets reservats