Tipos de datos
Redis es una base de datos clave-valor, pero sus valores no son solo strings. Elegir el tipo correcto simplifica el modelo y mejora rendimiento.
Strings
El tipo mas basico.
bash
SET usuario:1:nombre "Iago"
GET usuario:1:nombre
INCR contador:visitasUsos:
- Tokens.
- Contadores.
- Flags.
- Valores cacheados serializados.
Hashes
Representan objetos con campos.
bash
HSET usuario:1 nombre "Iago" email "iago@example.com" activo "true"
HGET usuario:1 email
HGETALL usuario:1Usos:
- Perfiles de usuario.
- Configuracion.
- Objetos pequenos.
Lists
Listas ordenadas por insercion.
bash
LPUSH cola:emails "email-1"
RPOP cola:emailsUsos:
- Colas simples.
- Historiales cortos.
- Buffers.
Sets
Colecciones sin duplicados.
bash
SADD post:1:likes usuario:1 usuario:2
SISMEMBER post:1:likes usuario:1
SCARD post:1:likesUsos:
- Likes.
- Tags.
- Miembros unicos.
Sorted sets
Sets con puntuacion.
bash
ZADD ranking 1500 usuario:1 1200 usuario:2
ZREVRANGE ranking 0 9 WITHSCORESUsos:
- Rankings.
- Prioridades.
- Lineas temporales.
Streams
Estructuras para eventos append-only.
bash
XADD pedidos * pedido_id 10 estado creado
XRANGE pedidos - +Usos:
- Eventos.
- Consumer groups.
- Procesamiento asincrono.
Buenas practicas
- Modela por patrones de acceso.
- Usa TTL cuando el dato sea temporal.
- Manten valores pequenos.
- Define convenciones de nombres.
- Evita guardar documentos enormes en una sola clave.
Errores comunes
- Usar strings JSON para todo.
- No definir expiraciones en cache.
- Crear millones de claves sin patron de limpieza.
- Usar lists como sistema de colas critico sin entender fallos.
- No estimar memoria.
