簡體   English   中英

Redis可以幫助繞過數據庫連接限制

[英]Can Redis help circumvent database connection limits

我正在研究使用Heroku Postgres實例,理論上該實例可以有許多同時連接。 可以處理許多節點的節點的成本似乎太昂貴了。

部署Heroku Redis實例以緩存某些數據庫查詢/結果是否可以緩解此問題並節省成本?

您可以考慮以下兩種方法。

連接池

您可以使用連接池來限制到數據庫的總連接數。 在將請求發送到數據庫之前,所有客戶端都會從池中獲取連接。 如果客戶端無法從池中獲取連接,則它僅在等待其他人釋放連接。

但是,此方法可能會導致一些延遲。

快取

您可以使用緩存服務器(例如Redis)來緩存數據庫中的結果。 如果結果已寫入緩存,則任何后續請求都可以從緩存中快速獲取結果。

但是,您應該考慮以下問題。

  1. 對數據集的請求是否具有較高的Cache Hit Ratio 如果該值很高,則可以緩存大多數請求的結果,並且性能良好。 否則,您將收到許多“ Cache Miss請求,並且性能很差。

  2. 您是否關心過時的數據。 由於緩存可能與數據庫不一致,因此您可能會從緩存中獲取過時的數據。 如果您的應用程序始終需要新數據,則無法緩存結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM