php mysql千万级数据修改_PHP结合MySQL实现千万级数据处理,

PHP结合MySQL实现千万级数据处理PHP结合MySQL实现数千万的数据处理,推荐:《PHP视频教程》

mysql分表思路

6508a6a92c7afe749289125949c7aaa8.png

一个1亿美元的订单表可以分为5个表,这样每个表只有2000万个数据,分担了原表的压力。表要根据一定条件划分。这里表可以按区域划分,需要一个中间件来控制去哪个表找你要的数据。

中间件:使用主表的自加id作为中间件(中间件适合什么样的领域?独一无二)

分布在怎么?主表插入后,返回一个id,根据这个id和表的数量取模,如果余数是几,数据插入哪个表。

注意:子表中的id应该与主表中的id一致

以后只有插入操作会用到主表,修改、删除、读取都不需要主表

6ef7d3887bb9224f63451955dcffe814.png

redis消息队列

1,什么是消息队列?

在消息传播过程中保存消息的容器

2、消息队列产生的历史原因

88475c223af07e73c38f10e5f79dea85.png

消息队列的特点:先进先出

首先将要执行的sql语句保存在消息队列中,然后将它们异步、平滑地依次插入数据库

应用:新浪,先把即时评论放到消息队列中,然后通过定时任务把消息队列中的sql语句依次插入数据库

修改

通过操作修改子表

e250ac2e8d8c7443c8308471006ab37e.png

这个修改有问题。主表和子表的数据会不一致。如何使主表和word表的数据一致?

redis队列保持主表子表数据一致

修改完成后,要修改的主表数据将存储在redis队列中

bcf7ace30432fe86ab52128b7b084604.png

然后linux定时任务(可控制)循环执行redis队列中的sql语句,同步更新主表的内容

6322e7a5561584e0201cf392fc75288f.png

mysql分布式之分表(查,删)

查询只需要查询子表,不需要查询总表

179aa8d3e2f9ed1ce19d7093cce54b42.png

删除:首先根据id找到要删除的子表,然后删除它,然后按一条sql语句将总表数据删除到消息队列中

然后执行计划任务,删除总表数据

a466bcfa063b7b7d661b48f23728daa6.png

计划任务:

b0f726c2eddc0e9d6fda6690e2a5b8a8.png

mysql分布式之分库

分库思路

8b4b1208bc54043e276445c96286fdcb.png

图书馆分区示意图:

98a771d6055023aad9e7ab51db332521.png

9b4cc06d6082537a9a51f1a27373893d.png

mysql分布式之分库(增)

c713f34420ca3a117b0997b085928344.png

注意:操作数据库后,必须关闭数据库连接,否则mysql会认为同一数据库一直在连接

或者使用一个模型来确定要加载哪个配置文件以及要连接哪个数据库

06c9b6bfe0f97767e572500cd41989c6.png

mysql分布式之分库(改)

原理与新原理相同

2615e3a27b47a3470b4b13a238362db6.png

mysql分布式之分库(查,删)

原则上是相似的

1c11e0381a873c0b7aff8aac0f4a46b8.png

删除

186c93338f5b1642e0d7f711de081a26.png

执行队列

mysql分布式之缓存(memcache)的应用

将数据放入缓存,节省数据库开销,先在缓存中检查,直接取出,如果没有,则在数据库中检查,然后存储在缓存中

e9946e77a46c100c86dd0da7315af87f.png

编辑完信息后,您需要删除缓存,否则您将总是读取缓存的数据,而不是修改后的数据

ccb7fa440978621ac2ee339252b4d8ee.png

以上是结合php和MySQL实现数千万数据处理的详细内容。请多关注其他关于Lei.com PHP知识的相关文章!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值