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的主要内容,如果未能解决你的问题,请参考以下文章