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