【问题标题】:Optimising counters with MySQL and Redis使用 MySQL 和 Redis 优化计数器
【发布时间】:2014-01-06 11:59:39
【问题描述】:

我只是想知道使用 Redis 的最佳方法是什么,以及它如何与您的应用程序联系在一起。我正在建立一个大型网站,每分钟可能会提交成百上千的“赞”。

目前,我有一个likes 和另一个posts 的mysql 表。帖子表有一个名为 like_count 的字段,显然,每次从 likes 表中插入或删除新的赞时,总赞值都会存储和更新。

如果我只是将 likes 表移至 Redis,如果我将缓存 (likes_count) 值保留在 posts 表上,我是否仍能从中充分受益,还是应该将其也移至 Redis?

另外,如果我有一组帖子,我将如何从 Redis 中为每个帖子检索这些信息(或者我应该将 posts 表也移到 Redis 中吗??)

任何帮助将不胜感激

谢谢

【问题讨论】:

    标签: php mysql sql redis counter


    【解决方案1】:

    通过适当的数据库设计和分片/分区,我认为 MySQL 即使在大规模上也不会造成可扩展性问题。

    Redis 提供了一个很好的用例,您可以在其中根据您的要求对其数据类型进行通道化,例如列表、集合、排序集合。您的用例似乎与使用 redis 不一致。

    Redis 不宜用作静态内容数据存储,因为它是基于内存的数据库,可提供快速操作,因此应优化内存使用。

    如果 MySQL 不符合您的要求,您可以查看 MongoDb。它将为您提供更好的写入吞吐量(但没有连接或事务),并为您的数据模式提供更大的灵活性。它应该是您审查的好候选人。

    【讨论】:

      猜你喜欢
      • 2011-05-22
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多