Java秒杀系统方案优化 高性能高并发实战 学习笔记

安全登录

安全登录

分布式session

分布式session

应用程序加缓存

层次由高到低就是
页面缓存,url缓存,对象级缓存
一个用户先查看了产品列表,然后查看了某个商品
产品列表的页面缓存就是页面级的缓存
某个商品的页面环境就是url级的缓存
数据库里某个对象取出来,放到缓存里就是对象级缓存
具体参见:用redis缓存对象

页面静态化

为什么要静态化?
之前我请求发一个goods/to_list请求,springboot帮我们组合好数据,然后themleaf渲染页面,最后呈现到我们面前
如果我们使用静态化,直接使用html跳转技术到对应的html页面,然后用ajax发请求,获取具体的数据,之后再用js填充到html里面了#这样整体的html逻辑就不用再经过我们的逻辑了#而且更关键的一点,如果前后端分离的话,浏览器就能自己保存html页面,我们服务器的压力就能更小一点#

把数据从mysql提前到redis

因为redis比mysql快,而且在redis之前,可以可以现在内存中检查一次
https://blog.csdn.net/weixin_44758458/article/details/91982767
https://blog.csdn.net/qq_37430539/article/details/98987114

接口地址隐藏

为什么要隐藏

限流

1分钟内,1个用户最多请求多少次
用用户生成一个key,写入redis,过期时间是1分钟
解析用户请求的时候,先去redis拿这个key
如果能拿到,检查一下值,如果超过了限定值就返回错误,否则就给原来的值加1
如果每一拿到值,说明是第一次请求,写入value为1

其他笔记

https://blog.csdn.net/y277an/article/details/91469669

你可能感兴趣的:(Java秒杀系统方案优化 高性能高并发实战 学习笔记)