前端

​ 没什么好说的就是新增了一个浏览我的图表的页面

upload successful

后端:

分表设计!!

upload successful

原来这个分表的设计有个从csv里的数据得到的chartData字段。但是这个东西数据量大起来就会很影响查询速度。所以把chartData分出来一个表
每一个chartData都有一个chart_data_{charDataId}

upload successful

好处:

​ \1. 如果需要data数据的某一行可以快速找到。

​ 2.加快chart表的查询速度。互不影响增加安全性

实现:

​ 总共有三部分 创造动态新表,向新表插入数据,查询新表数据。

upload successful

直接用sql语句。(但是要小心sql注入需要校验一下)

限流:面试必备:4种经典限流算法讲解最近我们系统引入了Guava的RateLimiter限流组件,它是基于令牌桶算法的实现的。 - 掘金

防止用户频繁操作。限制用户每分钟发送请求的次数。

使用Redisson自带的限流方案

upload successful

令牌桶算法

Redisson实现****令牌桶算法(trySetRate)
相当于
有一个大鞋柜,大鞋柜里每个格子放了一双鞋子。
当学生过来拿鞋子,会判断有没有柜子有没有鞋子,有的话就拿走。只有拿到鞋子的用户才有资格进入教室,没有拿到的不行。
会有人一某种速率补充鞋子进鞋柜。比如一分钟补充5双直到补满。