Redis可以帮助规避数据库连接限制

问题描述 投票:0回答:1

我正在寻找使用Heroku Postgres实例,理论上可以有许多同时连接。可以处理许多节点的节点的成本似乎太贵了。

是否部署Heroku Redis实例来缓存某些数据库查询/结果有助于缓解此问题并节省成本?

heroku database-design redis architecture
1个回答
0
投票

您可以考虑以下两种方法。

连接池

您可以使用连接池来限制与数据库的总连接。在向数据库发送请求之前,所有客户端都从池中获取连接。如果客户端无法从池中获取连接,则只需等待其他人释放连接。

但是,此方法可能会导致一些延迟。

高速缓存

您可以使用缓存服务器,例如Redis,用于缓存数据库中的结果。如果结果已写入缓存,则任何后续请求都可以快速从缓存中获取结果。

但是,您应该考虑以下问题。

  1. 对您的数据集的请求是否有高Cache Hit Ratio?如果它很高,大多数请求的结果都可以缓存,性能也很好。否则,您将获得许多Cache Miss请求,并且性能很差。
  2. 你关心过时的数据吗?由于缓存可能与数据库不一致,因此您可能会从缓存中获取过时数据。如果您的应用程序始终需要新数据,则无法缓存结果。
© www.soinside.com 2019 - 2024. All rights reserved.