2010-11-03 153 views
1

我選擇來存儲我的內存緩存中的會話,它運作良好....最近我們有過太多的活躍用戶......所以我們必須用我們的應用程序的數目進行限制。要做到這一點我用多個memcache實例?

$ memcache-> getStats();並根據['curr_items']的數量,我讓用戶進入應用程序或不。

問題是我現在意識到,我想用內存緩存來存儲一些經常運行查詢....這顯然會打破我的計算活動會話的方法......所以我可以運行多個實例的memcache一個...爲會議,一個爲其他所有....這樣做有缺點嗎?

回答

0

您可以在不同端口上運行不同的內存緩存實例,並將其用於任何你想要的目的。在處理多個Memcache實例時,性能開銷很小。只需使用不同的連接參數實例化另一個Memcache對象。

但是它似乎,您使用計數的非常奇怪的方法,限制你的用戶。如果您在更合適的地方使用Memcache,您將能夠支持更多的活躍用戶。畢竟,這是使用Memcache的正確方法。

0

我選擇來存儲我的會話內存緩存中

...

$ memcache-> getStats();並根據['curr_items']的數量,我讓用戶進入應用程序或不。

爲什麼不直接理清選擇memcached進行會話存儲的原因,併爲會話使用更具擴展性的襯底?

+0

你能否詳細說明,什麼是錯的會話存儲在memcahced?我已經閱讀了許多積極的事情...像這裏http://www.dotdeb.org/2008/08/25/storing-your-php-sessions-using-memcached/ – Starlin 2010-11-03 18:30:35

+0

它很難規模化,應該提供不在正確配置負載的系統上使用本地存儲的性能顯着提高。在大多數情況下,您引用的文檔中描述的設置實際上比使用本地存儲運行速度要慢。 – symcbean 2010-11-04 13:39:17