1.使用2次md5加密
客户端md5(密码+固定salt):防止传输被破解
服务端MD5(密码+随机salt):防止数据库被爆,密码被破解
2.秒杀优化
库存存放在redis中,如果不足则返回,足够的话才访问数据库-->进一步优化:使用Map保存,物品id还有缓存key,当缓存数量为0时,把物品id删除,当再次访问的时候如果map没有key值,就不访问缓存
将秒杀存放到请求队列
请求队列出列,生成订单,减库存
客户端轮询是否秒杀成功
3.隐藏秒杀接口
4.接口限流:redis等等
5.封装注解限流,使用ThreadLocal储存用户信息,限流的时候商品id+用户id