2011-01-25 123 views
4

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

+1

你在redis中存储什么?主要使用它作为缓存?如果是这样,我会把它放在网络服务器上,以便真正快速完成。另外,哪台机器有更多的可用内存,您可以给redis? – 2011-01-25 19:15:41

回答

6

优点:

  • 的Redis数据库大小,如果你有大量的数据变大。如果你正在存储统计数据并存储大量统计数据,那么你的数据库可能会成为内存管理员。您不希望将所有数据保存在Web服务器上的内存中,因为这可能会从HTTP服务器中删除内存。
  • 其所谓的一个原因
  • 你的数据库服务器上安装的Redis的

缺点数据库服务器

  • 将有一个更高的网络响应时间轮询服务器时的数据,因为它是不本地
  • 如果服务器出现故障,那么您将无法访问数据。

我个人保持的Redis自己的服务器上,你可以喂养它了大量的数据,但是这一切都取决于什么样的环境,你都在工作。如果你想速度是重中之重(一额外的50ms左右将是不可接受的),那么你应该在你的Web服务器上运行它,因为到127.0.0.1的请求时间要比外部网络地址快得多,即使它在本地子网中。如果没有,那么你应该保持它离开Web服务器。

2

那么,如果你正在使用Redis,并且你的web进程没有使用大量的内存,那么我会把它放到两个地方并且复制到db服务器。这将提供冗余和性能。这些数据似乎比简单的缓存数据更重要,所以冗余会很好。

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