这个秒杀一人一单怎么样,Ai加个人总结的。想用于面试吟唱

#牛客AI配图神器#但是被发现没有完整实现怎么办?大家 帮我看看。实现秒杀以及一人一单的策略:

1:Redis层面的分布式锁
首先将分布式锁的粒度降低,将用户Id与商品Id进行绑定,借助LUA脚本(原子性),先判断是否存在购买标识(幂等性1),没买过就去尝试获取分布式锁,获取成功之后
然后再次判断是否存在购买标识,再判断库存是否足够,最后再扣减库存,两次判断减少锁竞争的消耗

2:数据库层面的数据修改
第一种:开启事务,对数据库的数据进行修改,扣减库存以及添加用户的购买记录,然后在Redis中添加唯一标识
可以借助Set进行存储,也可以借助string进行存储。
string结构可以实现更加精准的存储,可以存储相关的任务状态,比如已完成,未完成,完成中,同时还可以对过期时间进行单独指定,但是呢,当海量数据下会造成高频的内存碎片,与集群跨槽访问开销
Set结构可以以更加高效的查询效率去实现检索判断,约为string的30%,但是呢,无法存储任务状态,存在大Key问题,以及对过期时间只能全局Set的设定无法单个元素的设定。

第二种:RabbitMQ提高并发能力(幂等性,可靠性的保证)
如果说需要想提高并发能力,可以借助RabbitMQ去异步将数据同步数据库,只在Redis去执行业务的决策,此时RabbitMQ当中只是去对数据进行修改,可以保证最终的一致性,无法保证全局的一致性。
1 保证幂等性2,将用户id与商品id创建唯一索引或者唯一约束,避免重复消费添加,添加失败导致事务回退
2 保证幂等性3,创建全局唯一Id,可以在Redis业务决策结束后生成,后续与用户id商品id一起传入RabbitMQ,当消息被消费者正常消费后,将唯一id存储到Set当中,消费者消费前对判断Set当中是否存在这个唯一标识id,存在代表以及消费过不存在则未消费过或者将这唯一id借助string类型进行存储,消费者消费前判断string是否可以获取成功,成功则代表已经消费过,不成功则未消费

3:定时任务进行校验
最后还可以借助xxl-job对Redis数据与数据库数据进行校验

改进:
1 Redis 持久化与高可用: 需要配置 RDB+AOF 和 Redis Sentinel/Cluster 防止数据丢失和服务中断。
2 冷启动/预热: 秒杀开始前,需要将商品库存和必要信息加载到 Redis。#我的AI电子员工##你最近一次加班是什么时候?##牛客创作赏金赛#
全部评论
接好运
点赞 回复 分享
发布于 08-13 21:41 安徽

相关推荐

十年运道龙困井,一朝得势入青云。自从上次拿到比较理想的offer后,也是短暂的开心了一下。算法岗,核心组。但是面临开学和其他事情,仿佛又陷入了一种僵局。我们学校很看重本科教育和三评等,刚开始想着从这边沟通找到突破口,天真认为这下有点说服力了,结果换来的只是可能有更大风险。很多事情,千万不要人尽皆知。我开始后怕,后悔之前的想法。重新也问了问,确实啊,学长也是偷偷发育的,有时间做事情要灵活处理。但是,还有各种查寝,班会等事情,仿佛大学就像一张网,掩盖自由和未来,大家都是成年人了。我也因为在外实习很久没回家 看看了,有时间打着视频,也会有种忍住不流眼泪的感觉。我的路是自己走过来的,最开始没有任何背景。无数次锻炼,接做项目,沟通业务,修修改改,自我调整,刻意练习。慢慢的ssob投比率越来越高,0.30左右,也经历了很多实战,一次次都是对自己的挑战和进步。我也见证了自己一步步往上的一个成长,我热爱AI,也希望在这个飞速发展的时代,拥抱未来!片刻下,我觉得都会成为一件小事情,而且学生思维需要彻底改掉,而曾经的选择并不是差的,一切都是最好的安排。宝,不要听信你辅导员说什么你曾经做出的选择对自己特别不负责这种话哦,从你会自己这么早就开始找实习就可以看出是对自己很负责的人了,没人有全知视角,我们只是在我们相应的年龄,用尽我们当时全部的认知为自己做出的选择,这个选择就是当时当下能做出的最好的了[拥抱]大家都有深夜为了一些东西,而焦虑,亦或是怀疑,但是我想说的是,这些都只是很小的一环,或许根本证明不了任何的结果,未来永远在自己手中,而你要相信,那个曾经奋斗的瞬间,变成了今天的底气和动力,也终会在那之后,见证属于自己的,最好的答案!而今这一趟,  我一定会去的,我的故事依旧在延续!
Ncsbbss:其实无所谓啦 学校那边不同意就直接走呗 我看你是河南的 百度base北京吗 真不行就少赚点钱经常回学校呗 就不租房住青旅咯 我在北京感觉青旅还是挺舒服的哈哈哈哈 其实就算真要被逮回来了也没事 你才大一就拿百度算法岗 这是什么程度的佬啊以后你肯定拿offer刀手软 没啥焦虑的 冲就完了
秋招白月光
点赞 评论 收藏
分享
评论
2
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务