Rumah  >  Soal Jawab  >  teks badan

mysql - 瞬间流量很高的网站,要频繁的插入数据到数据库,应该怎么解决这个问题?

瞬间流量很高的网站,要频繁的插入数据到数据库,怎么才能解决速度慢的问题?要用到什么技术?

PHP中文网PHP中文网2743 hari yang lalu760

membalas semua(7)saya akan balas

  • 大家讲道理

    大家讲道理2017-04-17 15:17:45

    1、分布式部署的数据库,增加瞬时插入性能
    2、如果业务允许,采用消息队列异步插入
    3、使用redis之类的做缓存,再异步插入数据库
    3、对于插入操作频繁,又不需要关联查询的数据,可以选择使用mongo这样非关系型的数据库

    balas
    0
  • 怪我咯

    怪我咯2017-04-17 15:17:45

    如果对实时性要求不是很高的话,可以用redis做一个中间层接收数据,然后后台定时或用消息订阅机制从redis拉取数据并批量写入数据库。

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:17:45

    1. 考虑优化存储结构2. 有条件考虑多机多数据库多进程。3. 配连接池,配中间件(消息队列)中间数据库(redis)4. 多线程…

    balas
    0
  • 黄舟

    黄舟2017-04-17 15:17:45

    你可以搜一下类似 淘宝每秒14万订单 之类的东西作为借鉴。这个东西没有一成不变的方案。
    简单说就是用redis之类的服务端缓存处理请求。

    balas
    0
  • 迷茫

    迷茫2017-04-17 15:17:45

    应该还可以考虑下消息队列

    balas
    0
  • 高洛峰

    高洛峰2017-04-17 15:17:45

    加入缓存机制,做负载均衡都可以试试

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:17:45

    1 看日志 找到请求过高的请求地址,先找出原因,看能否避免,是否是必要的操作
    2 根据业务需求写mysql触发器,把这个工作交给mysql来做
    3 使用swoole 异步插入入数据库
    4 可以用多线程队列
    5 数据不要直接写入数据库,可以先写入redis

    balas
    0
  • Batalbalas