2010-01-29 101 views
0

我們有使用了多個Web服務器爲我們CakePHP程序,緩存問題

server architecture http://i48.tinypic.com/2czybts.jpg

問題是有兩個緩存目錄,服務器2做任何插入前清除了緩存他的數據庫。 服務器1不知道有關數據庫已經改變,所以服務器1緩存沒有被清除

當新的Web請求到達服務器2,他創造了新的緩存文件,並返回了良好的效果。但是,當涉及到服務器1中,他表現出同樣的老結果:(。

我不知道有沒有我們可以分享不同的物理服務器之間的高速緩存目錄中的任何方式,而不會影響性能。

我們可能會增加Web服務器,那麼請推薦這個

得益於良好的長期解決方案,用於讀取

回答

2

我會考慮使用內存緩存爲您的緩存機制,你可以在一臺服務器上設置了Memcache守護程序(memcached的),然後將兩臺服務器連接到一個緩存,查看core.php以獲取設置細節。當然是你還必須安裝memcache php ext和守護進程,但這將是值得的。

+0

+1,becoz memcached滿足了我的目的,它與cakephp框架預集成。 – Ish 2010-02-01 09:54:28

1

最簡單的方法是設置從nfs(文件)服務器提供的緩存目錄。你不需要改變別的東西。

爲了提高性能,我還會堅持使用Memcache作爲bucho的說法,但它可能會要求您更改應用程序代碼。

+0

+1,用於替代解決方案 – Ish 2010-02-01 09:54:58