我有一个系统,用户可以在其中“喜欢”内容。可能会同时发生数百个这样的点赞。我希望它是 AJAX 驱动的,这样您就能立即得到响应。
目前我有一个 mysql 表 likes
其中包含 post_id
和user_id
我在 posts
上有一个“缓存”计数器包含喜欢总数的表格 - 到目前为止很简单。
通过将这些信息存储在 mongodb 中以减轻 mysql 的负载,我会以任何方式受益吗?
此刻,我点击like,两个mysql查询运行 - 和INSERT into likes
和一个UPDATE on posts
。如果我处于大量读/写情况下的大型环境中,最好的方法是什么?
提前致谢:)
最佳答案
对于这种情况,MySQL 不是一个好的选择,因为大量写入会导致扩展问题。我相信 MongoDB 的真正优势是面向无模式 JSON 文档的存储,虽然它的性能应该比 MySQL 更好(如果设置正确),但我认为您应该考虑使用 Redis 来存储这样的计数器(单个 INC 命令增加数值)是蛋糕上面的奶油)。根据我的经验,它可以比任何其他数据库更有效地处理写入。
关于php - 使用 php 进行读/写负载平衡 - mongodb 与 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20901653/