2012-11-27 90 views
2

我們的開發人員聲稱memcached擁有一些本地緩存緩衝區。因此他正在代碼中執行一些操作,這將導致幾乎每次調用相同的密鑰時都會調用memcached。 它會定義導致許多內存分配,但它會需要網絡開銷?php-memcached是否有任何本地緩存緩存?

我嘗試閱讀php-memcached的源代碼,但它只是調用libmemcached的函數(我不記得它的名字),我無法弄清楚我在哪裏可以找到它的定義。

+0

所以問題是,如果你使用同一個鍵執行多個操作,memcached是在目標機器上分配還是分配內存,還是隻是在「本地緩衝區」中執行這些操作? –

+0

你的意思是它保持客戶端的本地緩衝區?如果是這樣,它肯定會減少網絡開銷。 –

+0

@ N.B。 ,傑克,是的,我的意思是本地緩存 – nikita2206

回答

4

您的首席開發人員如何設法提取該信息將會非常有用。從list of constants,這種特殊的選項伸出:

Memcached::OPT_BUFFER_WRITES 

它用於緩衝區寫入Memcached的降低網絡費用;不過,它也表示立即讀取操作緩存到服務器。

到目前爲止,網絡搜索沒有提供任何證實或反駁聲明的信息,但如果有這樣的特徵,應該有一個選項來關閉該行爲;沒有這些讓我相信它不在那裏。