2011-01-25 126 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的