84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
瞬间流量很高的网站,要频繁的插入数据到数据库,怎么才能解决速度慢的问题?要用到什么技术?
认证0级讲师
1、分布式部署的数据库,增加瞬时插入性能2、如果业务允许,采用消息队列异步插入3、使用redis之类的做缓存,再异步插入数据库3、对于插入操作频繁,又不需要关联查询的数据,可以选择使用mongo这样非关系型的数据库
如果对实时性要求不是很高的话,可以用redis做一个中间层接收数据,然后后台定时或用消息订阅机制从redis拉取数据并批量写入数据库。
考虑优化存储结构2. 有条件考虑多机多数据库多进程。3. 配连接池,配中间件(消息队列)中间数据库(redis)4. 多线程…
你可以搜一下类似 淘宝每秒14万订单 之类的东西作为借鉴。这个东西没有一成不变的方案。简单说就是用redis之类的服务端缓存处理请求。
应该还可以考虑下消息队列
加入缓存机制,做负载均衡都可以试试
1 看日志 找到请求过高的请求地址,先找出原因,看能否避免,是否是必要的操作2 根据业务需求写mysql触发器,把这个工作交给mysql来做3 使用swoole 异步插入入数据库4 可以用多线程队列 5 数据不要直接写入数据库,可以先写入redis
1、分布式部署的数据库,增加瞬时插入性能
2、如果业务允许,采用消息队列异步插入
3、使用redis之类的做缓存,再异步插入数据库
3、对于插入操作频繁,又不需要关联查询的数据,可以选择使用mongo这样非关系型的数据库
如果对实时性要求不是很高的话,可以用redis做一个中间层接收数据,然后后台定时或用消息订阅机制从redis拉取数据并批量写入数据库。
考虑优化存储结构2. 有条件考虑多机多数据库多进程。3. 配连接池,配中间件(消息队列)中间数据库(redis)4. 多线程…
你可以搜一下类似 淘宝每秒14万订单 之类的东西作为借鉴。这个东西没有一成不变的方案。
简单说就是用redis之类的服务端缓存处理请求。
应该还可以考虑下消息队列
加入缓存机制,做负载均衡都可以试试
1 看日志 找到请求过高的请求地址,先找出原因,看能否避免,是否是必要的操作
2 根据业务需求写mysql触发器,把这个工作交给mysql来做
3 使用swoole 异步插入入数据库
4 可以用多线程队列
5 数据不要直接写入数据库,可以先写入redis