<分区>
我们正在编写一个聊天应用程序,部分使用 node.js。我们期望每秒有 1000 条插入(消息),所以我们的方法是写入 redis(为每个房间使用一个 lrange),并且在 redis 中还有一个名为 not_saved_messages 的列表,另一个进程循环并写入 MySQL .这是反模式吗?我们是否应该只写入 MySQL 并希望它能正常运行?
<分区>
我们正在编写一个聊天应用程序,部分使用 node.js。我们期望每秒有 1000 条插入(消息),所以我们的方法是写入 redis(为每个房间使用一个 lrange),并且在 redis 中还有一个名为 not_saved_messages 的列表,另一个进程循环并写入 MySQL .这是反模式吗?我们是否应该只写入 MySQL 并希望它能正常运行?
最佳答案
如果做得好,我认为它不一定是反模式。细节决定成败。
您正在尝试做的是使用 mysql 进行日志记录并使用 redis 进行实时信息,对吗?在我看来,这可能会奏效。问题是如何使管道作为一个整体发挥作用。
顺便说一句,许多大数据用户使用的结果非常接近这个结果。例如,CERN 在数据进入 rdbms(Oracle、PostgreSQL 或 MySQL)之前的数据处理过程中使用了许多 NoSQL 解决方案。但这绝对是高级设计领域。
关于php - 在MySQL插入之前使用redis作为中介,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33321370/