Web 服务器前端或数据库服务器后端上的 Redis

Posted

技术标签:

【中文标题】Web 服务器前端或数据库服务器后端上的 Redis【英文标题】:Redis on web server front-end or database server back-end 【发布时间】:2011-06-15 02:43:41 【问题描述】:

我有两台虚拟专用服务器,第一台是 Web 服务器前端,第二台是数据库后端。我想将 Redis 用于实时数据,我的问题是:我应该在哪里安装 Redis?在网络或数据库服务器上?

【问题讨论】:

你在redis中存储了什么?主要将其用作缓存?如果是这样,我会把它放在网络服务器上以获得非常快的性能。另外,哪台机器有更多的空闲内存可以给redis? Redis 用于存储聊天记录和统计数据,这些数据被实时读取并交付给客户端。 VPS 具有相同数量的内存和磁盘空间。 【参考方案1】:

好吧,如果按照您所说的那样使用 Redis,并且您的 Web 进程不使用大量内存,我会将它放在两者上并复制到数据库服务器。这将提供冗余和性能。该数据似乎比简单的缓存数据更重要,因此冗余会很好。

如果您的 Web 服务器的可用内存较少,并且该可用内存小于您的​​数据大小,请将其全部保存在 db 服务器上。

【讨论】:

【参考方案2】:

在数据库服务器上安装 Redis 的优点:

如果您有大量数据,Redis 的数据库大小可能会变大。如果您要存储统计信息并存储大量统计信息,那么您的数据库可能会占用大量内存。您不希望将所有数据保留在 Web 服务器的内存中,因为这可能会占用 HTTP 服务器的内存。 它被称为数据库服务器是有原因的

在数据库服务器上安装 Redis 的缺点

轮询服务器以获取数据时,网络响应时间会更长,因为它不是本地的 如果服务器出现故障,那么您将没有数据。

我个人会将 Redis 保留在自己的服务器上,因为您可以向它提供大量数据,但这完全取决于您所处的环境。如果您希望速度成为重中之重(额外的 50 毫秒或所以将是不可接受的),那么您应该在您的 Web 服务器上运行它,因为到 127.0.0.1 的请求时间比外部网络地址快得多,即使它在您的本地子网内。如果没有,那么您应该将其保留在 Web 服务器之外。

【讨论】:

以上是关于Web 服务器前端或数据库服务器后端上的 Redis的主要内容,如果未能解决你的问题,请参考以下文章

web后端开发需要啥技术

在相同的后端上重新设计前端是什么效果? | 每日趣闻

计算机前端和后端区别

求解,前端和后端交互需要学啥?比如说,后端发送数据,前端接收到数据后自动生成数据的折线图或表格。

WEB UI 前端和 C++ 后端之间的通信?

ruby和前端