我只是想知道使用Redis的最佳方法是什么以及它与您的应用程序的关系。我正在建立一个大型网站,每分钟可以提交数百个“喜欢”的人。
目前,我有一个likes
的mysql表和另一个posts
的mysql表。 posts表中有一个名为like_count
的字段,显然,每次从likes
表中插入或删除新的like时,都会存储和更新总喜欢值。
如果我只是将likes
表格移到Redis上,如果我在posts
表上保留了缓存(likes_count)值,我是否还能完全从中受益,或者这也应该转移到Redis上?
另外,如果我有一系列帖子,那么我如何从Redis中为每个帖子检索这些信息(或者我应该将posts
表格移到Redis中吗?)
非常感谢任何帮助
由于
答案 0 :(得分:0)
通过适当的数据库设计和分片/分区,我认为即使是大规模的MySQL也不会造成可扩展性问题。
Redis提供了一个很好的用例,您可以根据需要对其数据类型进行通道化,例如列表,集合和排序集。您的用例似乎与使用redis不一致。
Redis不适合用作静态内容数据存储,因为它是一个基于内存的数据库,用于提供快速操作,因此应该最佳地使用内存。
如果MySQL不符合您的要求,您可以查看MongoDb。它将为您提供更好的写入吞吐量(但没有连接或事务),并且您的数据模式具有更大的灵活性。它应该是你审查的好候选人。