Siempre que tengo que debugear algo en Redis, me quiebro la cabeza y batallo para entender la estrucutra. Y cada vez es leer mil POSTs para entender…
Redis es una base de datos en memoria que es NoSQL.
Para almacenar datos, Redis usa básicamente lo hace de tres diferentes maneras:
- Scalars (llave valor) con solo un dato
- Listas, que contiene una llave un una lista de datos para ello
- Hashes, basicamente un diccionario de datos {llave:valor}
Para cualquiera de estos tres métodos, el registro lo almacena con una llave para hacer acceder a ese registro, pensemos lo como un ID.
Scalars
get <key>
set <key> <value>
setnx <key> <value> # Set key value only if key does not exist
Listas
lrange <key> <start> <stop>
lrange mylist 0 -1 # Get all of a list
lindex mylist 5 # Get by index
llen mylist # Get length
lpush mylist "value"
lpush mylist 5
rpush mylist "value"
lpushx mylist 6 # Only push in mylist exists
rpushx mylist 0
lpop mylist
rpop mylist
lrem mylist 1 "value" # Remove 'value' count times
lset mylist 2 6 # mylist[2] = 6
ltrim <key> <start> <stop>
Hashes
hexists myhash field1 # Check if hash key exists
hget myhash field1
hdel myhash field2
hset myhash field1 "value"
hsetnx myhash field1 "value"
hgetall myhash
hkeys myhash
hlen myhash
Esta info la obtuve de la siguiente referencia:
Redis Chead-Sheet