Lançamentos de tênis e produtos
As edições limitadas se esgotam em segundos sem vender um único par a mais.
Venda exatamente o estoque que você tem quando dez mil clientes clicam em Comprar no mesmo segundo, e mantenha os bots de fora.
500 unidades entram em promoção.
Uma demonstração animada com comandos reais do HotKV e respostas de exemplo. Clique em qualquer etapa para ir direto a ela. Os comandos e as respostas ficam em inglês, exatamente como você os digita e vê no HotKV.
Em uma venda relâmpago, o banco de dados de estoque vira o gargalo exatamente quando mais importa. Verificações de ler e depois gravar vendem a mais sob concorrência, carrinhos abandonados prendem o estoque para sempre e os bots compram o estoque antes que os clientes reais terminem de carregar a página.
O estoque fica em um contador decrementado de forma atômica, então compradores simultâneos nunca levam mais do que existe. Cada reserva é uma chave com expiração de dez minutos, um limite de taxa por cliente segura os bots e os pedidos confirmados vão para um stream que o setor de envio processa no próprio ritmo.
500 unidades entram em promoção.
SET stock:sneaker-x 500Cada cliente pode tentar duas vezes a cada 10 segundos. Os bots passam disso na hora.
GCRA.LIMIT buy:customer:881 10000 2DECR é atômico. 10.000 cliques simultâneos nunca levam mais do que 500 unidades.
DECR stock:sneaker-xA reserva expira sozinha se o checkout for abandonado, e uma rotina de limpeza devolve a unidade.
SET hold:sneaker-x:order-7781 customer:42 NX EX 600Quando o DECR fica abaixo de zero, a unidade é devolvida e o cliente vê que esgotou. O estoque nunca fica negativo por muito tempo.
INCR stock:sneaker-xOs pedidos pagos são anexados a um stream. O sistema do armazém os processa no próprio ritmo.
XADD orders * order 7781 sku sneaker-x customer 42As edições limitadas se esgotam em segundos sem vender um único par a mais.
Os assentos ficam reservados por alguns minutos durante o checkout e são liberados automaticamente se o comprador sair.
Os horários de entrega são contadores, decrementados de forma atômica conforme os clientes os reservam.
DECR e INCR mudam o estoque em uma etapa, sem condição de corrida.
DECRINCRBYAs reservas são chaves com um TTL.
SETNXEXLimites por cliente com um tempo exato para tentar de novo.
GCRA.LIMITUm stream para o envio, com grupos de consumidores e confirmações.
XADDXREADGROUPAs reservas expiradas podem ser percebidas por notificações de keyspace ou por uma varredura periódica, que incrementa o contador de estoque de novo.
Sim. GET retorna a contagem atual. Só o DECR reserva.
Use MULTI e EXEC, ou uma função, para decrementar vários contadores juntos.
O HotKV fala o protocolo Redis, então você pode apontar um cliente existente para ele e executar estes mesmos comandos.