我在我的应用程序中有一个用例,我需要根据用户的位置在用户之间进行实时通信。基本上,一个用户将创建一个“事件”,并将其发送给附近的用户。在服务器端,我计划使用 redis 或 mysql 来管理事件和参与者。基于这样的问题,我可以配置 mysql:
innodb_flush_log_at_trx_commit = 2
并且它提高了写入性能。你认为正确配置的 MySQL 可以与 Redis 竞争吗?我喜欢 MySQL 的是我可以在它前面使用 ORM。或者我可能遗漏了一些关于 Redis 和 MySQL 之间区别的信息。
提前致谢。
差异太多,无法一一列举。它们之间的选择在很大程度上取决于您没有描述的应用程序。
该设置影响写入,而不是读取。
如果您在慢速驱动器上每秒不超过 100 个查询,MySQL 就可以了。或者,如果没有,那么我们应该查看您的索引和查询。
请参阅Percona 的Looking at Redis(他们是主要的 MySQL 专家)。它们描述了 Redis 和 MySQL 之间的区别。博客帖子有点过时(2009 年)。
Redis 和 MySQL 有不同的用例。
测试结果总结