所有数据都应该存储在redis中吗?

时间:2014-01-21 14:27:51

标签: redis

我正在建立一个新闻网站。目前,我使用mySQL作为主数据存储,并使用redis来维护用户主页提要的文章列表。当用户点击主页上的文章时,我连接到mysql以获取文章,评论和相关内容的主要内容。

如果我将所有商品数据存储在redis中,这是最佳做法吗?我的意思是不是连接到mysql来获取文章的全部内容,而是将文章的主要内容存储在redis中,以便提高性能?

2 个答案:

答案 0 :(得分:2)

这是基于意见的,所以这是我的看法。 Redis已准备好用作缓存。您需要确定要缓存的内容,以及是否实际需要缓存。这取决于您的应用程序的规模。如果文章变化很大而你没有庞大的用户/访客群,我认为Redis根本不是必需的。记住你不能在那里搜索东西。你不能在Redis中去SELECT articles WHERE author='foo'

另一方面,如果由于许多用户而导致数据库负载大幅增加,则可以预先渲染所有文章的HTML并将其放入Redis。这将节省数据库和Web服务器的负载。但前提是您已经知道要显示哪些文章。

答案 1 :(得分:1)

这取决于redis在您的情况下应该采取的角色。

如果它用作缓存,您可以尝试在redis中存储更多数据。只要开发开销很小并且该过程不会引入新的错误源。

如果您希望redis成为数据的主要来源,那么在您的情况下听起来并不像,您也可以决定将所有内容从MySQL移开。对于低且“很少”改变的数据,它可能值得一试。但请记住备份数据库并在更改后同步到HDD。