技巧💡

  1. 分布式锁,限流
  2. 扣减库存

预扣库存

local ticket_key = KEYS[1]
        local ticket_total_key = ARGV[1]
        local ticket_sold_key = ARGV[2]
        local ticket_total_nums = tonumber(redis.call('HGET', ticket_key, ticket_total_key))
        local ticket_sold_nums = tonumber(redis.call('HGET', ticket_key, ticket_sold_key))
		-- 查看是否还有余票,增加订单数量,返回结果值
        if(ticket_total_nums >= ticket_sold_nums) then
            return redis.call('HINCRBY', ticket_key, ticket_sold_key, 1)
        end
        return 0

remoteSpike.go

资料

36 Redis支撑秒杀场景的关键技术和实践都有哪些?
miaosha: ⭐⭐⭐⭐秒杀系统设计与实现.互联网工程师进阶与分析🙋🐓