Php
是否有任何點同時執行 APC **和 ** memcached
APC 和 Memcached 記憶體相同的數據嗎?我知道 APC 記憶體文件和對象/變數,而 memcached 是僅限對象的,但 memcached 是否提供 APC 不提供的任何東西?
我見過同時使用兩者的設置,但這似乎是對 RAM 的浪費,除非我遺漏了什麼?
TIA, 法學博士
在單個伺服器上,在兩個地方記憶體相同的數據沒有多大意義。這將使用兩倍的 RAM 並沒有真正的優勢。在這種情況下,使用 APC 可能是最簡單的,因為它需要執行的程序少,學習的界面少。
當您擁有整個伺服器集群時,Memcache 會變得更加有用。Memcache 可以被多個伺服器(也可以被同一伺服器上的多個程序)查詢。相比之下,APC 記憶體中的數據只能由 PHP 在其自己的伺服器上使用。這使得 Memcache 更加高效,因為您可以記憶體一次數據並在整個集群上使用它。Memcache 本身也可以集群化,這樣您就可以從一堆不同的機器中匯集 RAM,並將它們全部用作一個大記憶體。
我的公司同時使用 Memcache 和 APC。我們有十幾台伺服器執行 Memcache;這些伺服器記憶體複雜的資料結構,這樣我們就不必一直進行數據庫查詢。我們還使用 APC 來儲存一些一直使用的資訊,例如配置設置。如果沒有 APC,我們的 Memcache 伺服器就會被大量對簡單數據的請求淹沒,比如“應用程序是否處於只讀模式?” 我們的 Memcache 伺服器可以處理它,但是將這些資訊保存在本地記憶體中顯然更有效。