🥲 🥸 🤌 🫀 🫁 🥷 🐻❄️🦤 🪶 🦭 🪲 🪳 🪰 🪱 🪴 🫐 🫒 🫑 🫓 🫔 🫕 🦤 🪶 🦭 🪲 🪳 🪰 🪱 🐻❄️ 🫐 🫒 🫑 🫓 🫔 🫕
♔博主昵称:�欢快↑㎡
🕍博客主页:�欢快↑㎡的博客_CSDN博客-学习注意点杂记,BUG集,安装教程领域博主
🥗感谢点赞🤞🏻评论
⚇很方便的在线编辑器:Lightly
相信吧!🤜🏻我们很优秀,还可以更加优秀,加油!🌼让我们一起在写作中记录巩固学习吧!
前端:
- 定义变量的时候如果不赋初始值,可能导致前端显示Nan(不是数字),类型不匹配问题。
- 前端按钮点击,按钮有反应,但是没有像后端发请求,可能的原因是,发送请求的语句有问题。
数据库:
- 定时任务执行查询数据库,同时执行其他发货等操作,如果数据量过大,导致数据查询定时任务超时,发货部分数据发货失败
解决方案,延长定时任务超时时间;设置查询数据条数(比如500条)
后端:
1.可以使用变量初始化为false或者0来充当锁,当请求后变量赋值为true或者1,请求结束后,不管成功还是失败,都需要赋值为初始值,以此来防止多次请求等需求。需要注意,如果有try-catch,或者一些其他异步,也需要赋值为初始值,前端的抽奖动画可以采用这种方法。
2.使用redis,如果数据量或者请求量比较大,需要注意热key,热key是指频繁查询,或者频繁操作(插入等操作)。
解决方法(部分):1.单用户频控
2.如果涉及发货类的,可以设置单日限量,单用户限量
3.数据分片,通过计算分多个key(采用改后缀形式),同时可以读写分离,读写所用的key不同,通过定时任务,定时去查找已经写入的key,通过处理将数据写入读取所用的key。实现读写分离。
4.读写分离这里要修数据实时性不需要那么高。
3.方法经历简洁
能复用的的代码提取出来写一个方法方便复用与迭代
多写配置型代码来替代魔法变量,也方便修改与迭代
常用的方法可以封装起来作为工具方法
4.设置redis过期时间一般会设置比所需时间长一个月。
5.在某种情况况下,== 与 >=都成立的情况下可以选择 >= 增加程序的容错性 。
6.某些明文请求等不能有规律可循,防止恶意请求获取数据。例如订单编号不能是自增的,否则可能会替换订单编号参数请求获取数据。例如在线图片等资源地址中资源的名称可以使用MD5加密后然后随便插入一个或几个字符串,防止资源泄露或者被提前曝光。
7.使用定时任务刷新数据时,需要注意定时任务要比数据刷新时间晚一点(按需求而定)。