php - 使用 php 进行读/写负载平衡 - mongodb 与 mysql

标签 php mysql sql mongodb caching

我有一个系统,用户可以在其中“喜欢”内容。可能会同时发生数百个这样的点赞。我希望它是 AJAX 驱动的,这样您就能立即得到响应。

目前我有一个 mysql 表 likes其中包含 post_iduser_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/

相关文章:

php - 从 facebook api Restserver 获取 JSON 响应

mysql - 创建简单外键引用时 SQL 语法错误

mysql - Hive 查询在启 Action 业并生成跟踪 URL 后不会开始 MapReduce 进程

sql - SQL Server 数据库 'optimizing' 索引的奇怪结果,原因是什么?

php - Laravel 500 错误没有日志

PHP 无法正确解析 CSV(文件为 UTF-16LE)

php - 用于跨域身份验证的 JWT token

php mysql数据库检索一行三条记录

sql - MS-SQL 表设计器中方括号 [] 的含义?

mysql - 在MySQL文本类型字段中序列化长数组并增加文本类型的大小。