Lanzamientos de zapatillas y merchandising
Las ediciones limitadas se agotan en segundos sin vender de más ni un solo par.
Vende exactamente el stock que tienes cuando diez mil compradores hacen clic en Comprar en el mismo segundo, y mantén fuera a los bots.
Salen a la venta 500 unidades.
Un recorrido animado con comandos reales de HotKV y respuestas de ejemplo. Haz clic en cualquier paso para saltar a él. Los comandos y las respuestas se quedan en inglés, tal como los escribes y los ves en HotKV.
En una venta flash, la base de datos de inventario es el cuello de botella justo cuando más importa. Las comprobaciones de leer y luego escribir venden de más con concurrencia, los carritos abandonados bloquean stock para siempre y los bots compran el stock antes de que los clientes reales terminen de cargar la página.
El stock vive en un contador que se descuenta de forma atómica, así que los compradores concurrentes nunca pueden llevarse más de lo que existe. Cada reserva es una clave que caduca a los diez minutos, un límite de tasa por cliente frena a los bots y los pedidos confirmados van a un stream para que logística los procese a su propio ritmo.
Salen a la venta 500 unidades.
SET stock:sneaker-x 500Cada cliente puede intentarlo dos veces cada 10 segundos. Los bots lo superan de inmediato.
GCRA.LIMIT buy:customer:881 10000 2DECR es atómico. 10.000 clics simultáneos nunca pueden llevarse más de 500 unidades.
DECR stock:sneaker-xLa reserva caduca sola si se abandona el checkout, y un proceso de barrido devuelve la unidad.
SET hold:sneaker-x:order-7781 customer:42 NX EX 600Cuando DECR baja de cero, la unidad se devuelve y el comprador ve que está agotado. El stock nunca se queda en negativo mucho tiempo.
INCR stock:sneaker-xLos pedidos pagados se añaden a un stream. El sistema del almacén los procesa a su propio ritmo.
XADD orders * order 7781 sku sneaker-x customer 42Las ediciones limitadas se agotan en segundos sin vender de más ni un solo par.
Los asientos se reservan unos minutos durante el checkout y se liberan automáticamente si el comprador se va.
Las franjas de entrega son contadores que se descuentan de forma atómica a medida que los clientes las reservan.
DECR e INCR cambian el stock en un solo paso, sin condiciones de carrera.
DECRINCRBYLas reservas son claves con un TTL.
SETNXEXLímites por cliente con un tiempo de reintento exacto.
GCRA.LIMITUn stream para logística, con grupos de consumidores y confirmaciones.
XADDXREADGROUPLas reservas caducadas se pueden detectar con notificaciones del keyspace o con un barrido periódico, que vuelve a incrementar el contador de stock.
Sí. GET devuelve el recuento actual. Solo DECR reserva.
Usa MULTI y EXEC, o una función, para descontar varios contadores a la vez.
HotKV habla el protocolo de Redis, así que puedes apuntar un cliente que ya usas hacia él y ejecutar estos mismos comandos.