1. 购物车如何实现
cookie保存user-key,每次访问时会验证当前用户登录信息(是否有session),如果有session,表示用户登陆了,则根据用户的登录信息去查询数据库。如果未登录,则根据session中的user-key来添加购物车。如果用户登陆了,且本地有购物车session,则合并购物车。
2. 分布式锁的场景
(1)集群情况下的定时任务
(2)抢单
(3)幂等性场景
3. 用户提交订单的时候,要防止重复提交。
解决方案:查看订单信息时传递uuid给前端,提交订单时携带uuid,在从redis查到uuid,使用redis+lua脚本将 对比和删除 为原子操作。