- 通过Redis的bitmap进行用户每日签到,连续签到统计.
- 通过ThreadLocal加Aspect切面,对一次请求的用户信息进行存储本地的操作,避免每次都需要注入用户service,还需要传入id,才能查询用户信息,使得一次请求中所有使用用户信息的地方都直接从内存获取,不需要查数据库或者Redis,也减少了用户信息在方法之间的传递
- 购物车修改为纯Redis实现,购物车是一个重修改的业务,使用数据库实现,延迟会稍大,并且购物车信息可以在生成订单后永久取消,大部分场景并不需要长时间持久化存储,Redis的数据结构选择hash,因为购物车中每个item都要支持独立修改。
- 订单生成增加接口等幂性保证,生成订单连续点击两次,需要保证只有一次成功,但是就是要生成两个订单,也不能被认为是一个订单,使用生成订单的页面产生一个唯一Token,传递到后端,后段将其存入Redis,过期时间设置为订单自动取消的时间,只有来自同一个订单页面的点击,就会认为是重复点击。
- 使用Redis实现用户消费排行榜,支持日榜,月榜,可拓展
- 使用Redis配合切面,拦截器实现注解对方法限流
- 实现秒杀业务,考虑接口限流,接口隐藏,分布式超卖,商品预热,下单异步,接口等幂
- 实现基于lua脚本的令牌桶限流算法,支持接口模式与ip模式
forked from macrozheng/mall-swarm
-
Notifications
You must be signed in to change notification settings - Fork 0
对Github开源项目mall-swarm二次开发~~
License
Gs1mpleL/mall-swarm
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
对Github开源项目mall-swarm二次开发~~
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Java 99.9%
- Shell 0.1%