[英]Can Redis help circumvent database connection limits
我正在研究使用Heroku Postgres實例,理論上該實例可以有許多同時連接。 可以處理許多節點的節點的成本似乎太昂貴了。
部署Heroku Redis實例以緩存某些數據庫查詢/結果是否可以緩解此問題並節省成本?
您可以考慮以下兩種方法。
連接池
您可以使用連接池來限制到數據庫的總連接數。 在將請求發送到數據庫之前,所有客戶端都會從池中獲取連接。 如果客戶端無法從池中獲取連接,則它僅在等待其他人釋放連接。
但是,此方法可能會導致一些延遲。
快取
您可以使用緩存服務器(例如Redis)來緩存數據庫中的結果。 如果結果已寫入緩存,則任何后續請求都可以從緩存中快速獲取結果。
但是,您應該考慮以下問題。
對數據集的請求是否具有較高的Cache Hit Ratio
? 如果該值很高,則可以緩存大多數請求的結果,並且性能良好。 否則,您將收到許多“ Cache Miss
請求,並且性能很差。
您是否關心過時的數據。 由於緩存可能與數據庫不一致,因此您可能會從緩存中獲取過時的數據。 如果您的應用程序始終需要新數據,則無法緩存結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.