当前位置:Gxlcms > PHP教程 > 服务器怎么实现即时保存数据

服务器怎么实现即时保存数据

时间:2021-07-01 10:21:17 帮助过:39人阅读

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

回复内容:

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

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

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

你说的是memtor

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

人气教程排行