php - 服务器怎么实现即时保存数据
巴扎黑
巴扎黑 2017-04-10 17:07:52
0
4
285

1.应用场景:client与server创建socket通信,client 通过socket向Server 发送数据。
2.连接数量:会有很多个(至少几十万级)client与server 通过socket建立连接,上传数据。
3.数据存储:现在使用的数据存储是redis+mysql
4.我的问题:该如何实现将server收到的数据及时的保存到MySql数据库中? 现在的思路: 用reids建一个队列,然后再保存到mysql,不知道是否可行? 看到有人说通过mongdb,那我该如何整合mongb到现有的redis+mysql中呢?

巴扎黑
巴扎黑

reply all(4)
巴扎黑

几十万的连接,挺大的,但是是否有1s有几十万的写入。如果有那就用异步写入。但是不要用redis中的list,因为你的后端进程挂掉的话,数据就没了,建议用rabbitMQ做消息队列

迷茫

redis list有坑的,我们现在的模式和你说的模式差不多,如果消费redis list的进程程序挂了,那么就悲催了,一般都会丢失数据的.

PHPzhong

你说的是memtor

大家讲道理

这种情况使用redis list也行,可以在入redis之前记录个log,这样毕竟会安心点。
其他方式就可以考虑专业的消息队列了,如xxMQ,或者有能力的话可以考虑Kfaka。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template