6. Gestión de carrito con Redis y TTL
Fecha: 2026-03-15
Contexto y Problema
El e-commerce requiere almacenar temporalmente el contenido del carrito de los usuarios almacenar temporalmente el contenido del carrito en PostgreSQL podria hacer que las escrituras y lecturas sean considerablemente lentas ademas de que se necesitaria configurar un tiempo de expiracion y una estructura de tabla
Opciones Consideradas
- Redis Excelente opcion para este tipo de escenarios, ofrece lectura y escritura de datos veloces.
Decisión
Se utilizará Redis para el almacenamiento temporal de carritos de usuario.
Justificación
- Estructura de datos flexible: En redis se pueden usar Hashes para representar el carrito, donde la clave puede ser el token o un header de usuario y los campos son los productos con sus cantidades, esto permite actualizaciones atomicas sencillas.
- Velocidad de escritura/lectura: Debido a ser una base de datos en memoria, la velocidad de escritura y lectura ocurre en un tiempo casi impercetible,para un carrito donde un usuario puede agregar y quitar items del carrito de forma constante esto es una mejora significativa.
- TTL: Redis permite asignar un TTL a cada clave, permitiendo configurar que el carrito expire automaticamente en x tiempo.