2010-10-23 61 views
0

喜歡的東西:在服務器池中將id映射到memcache有什麼好的功能?

host = getHost(id) 
>>> 172.16.25.52 

理想的情況下,算法應儘量減少高速緩存未命中的數量時,服務器池擴張/收縮。

是否有任何已知的算法可以做到這一點?或者庫,可能(我正在使用Python)。

謝謝。

+0

你能否更清楚完整地描述你的要求? – Omnifarious 2010-10-23 16:28:22

+0

嗨 - 對不起。我的意思是,如果我有N臺服務器,並且將我的池擴展到N + X服務器,我將有緩存未命中,因爲緩存將不得不在新服務器上重建。有沒有一種算法可以讓我擴展我的服務器池,同時最大限度地減少緩存未命中數量? – ensnare 2010-10-23 18:41:34

回答

1

默認情況下,memcached庫會執行此操作。因此,您可以從存儲庫中讀取代碼:http://bazaar.launchpad.net/~python-memcached-team/python-memcached/trunk/annotate/head%3A/memcache.py#L274

至於最小化擴展/收縮池中的緩存未命中......這是一件困難的事情。要麼你沒有正確地劃分服務器,否則在擴展/合同時它會變得不那麼理想。如果你最多有N臺服務器比它更容易,因爲你可以做一些假設。

+0

我以爲memcached默認是這樣做的,所以這就是爲什麼這個問題讓我困惑。 – Omnifarious 2010-10-23 17:35:00