2014-10-06 29 views
0

考慮2個memcached的服務器,mc1mc2和2個網絡服務器,web1web2,使用PHP與Memcached的庫。如何刪除memcached的鑰匙由另一個Web服務器設置

$mc = new Memcached(); 
$mc->addServer(mc1); 
$mc->addServer(mc2); 

web1下面的代碼執行:

$mc->set('abc', 'val'); 
// key is set to mc1 

之後,從web2

$mc->delete('abc'); 

從我如何memcached的圖書館工作了解,web2不知道從哪裏web1已經設定了關鍵。怎麼能做到這一點?

現在我正在遍歷服務器,並對每個服務器發出刪除。我想可能有更好的方法來做到這一點。

回答

1

多服務器體系結構memcached訪問(set/get/delete)基於密鑰散列的服務器上的密鑰。所以,是的 - web2不會知道在web1上刪除。但在你的情況下這不是問題。 Memcache將從服務器刪除關鍵權限之前被放置。

請仔細閱讀此問題:Using multiple memcache servers in a pool

+0

謝謝。我做了一個快速測試,它的工作,但我仍然不明白,他們是4個不同的機器。也許mc1發信號給mc2它有這個鍵。 – Mecca 2014-10-06 19:45:55

相關問題