服务器怎么实现即时保存数据
程序员文章站
2022-05-01 17:55:30
...
1.应用场景:client与server创建socket通信,client 通过socket向Server 发送数据。
2.连接数量:会有很多个(至少几十万级)client与server 通过socket建立连接,上传数据。
3.数据存储:现在使用的数据存储是redis+mysql
4.我的问题:该如何实现将server收到的数据及时的保存到MySql数据库中? 现在的思路: 用reids建一个队列,然后再保存到mysql,不知道是否可行? 看到有人说通过mongdb,那我该如何整合mongb到现有的redis+mysql中呢?
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。
上一篇: paramiko模块安装使用说明
推荐阅读
-
如果想用php代码操作另一台服务器的文件,怎么实现?
-
云笔记的数据同步是怎么实现的?
-
怎么用PHP实现数据库导出到txt文件或csv文件
-
不同服务器上的mysql数据库如何实现同步异步备份
-
Java、Python中没有指针,怎么实现链表、图等数据结构?
-
在没有服务器的网页之间如何实现数据的共享_html/css_WEB-ITnose
-
Java、Python中没有指针,怎么实现链表、图等数据结构?
-
laravel怎么接收和保存一组checkbox到数据库?
-
vue 使用 async 和 await 实现异步 axios 同步化(实战案例:数据异步校验通过后,再执行保存)
-
PHP实现将HTML5中Canvas图像保存到服务器的方法