Alternative PHP Cache(APC)
Alternative PHP Cache(APC)
介紹
APC,全稱是Alternative PHP Cache,官方翻譯叫”可選PHP緩存”。它為我們提供了緩存和優化PHP的中間代碼的框架。
APC的緩存分兩部分:系統緩存和用戶數據緩存。
系統緩存和用戶數據緩存
系統緩存
它是指APC把PHP文件源碼的編譯結果緩存起來,然後在每次調用時先對比時間標記。如果未過期,則使用緩存的中間代碼運行。默認緩存3600s(一小時)。但是這樣仍會浪費大量CPU時間。因此可以在php.ini中設置system緩存為永不過期(apc.ttl=0)。不過如果這樣設置,改運php代碼後需要重啟WEB服務器。目前使用較多的是指此類緩存。
用戶數據緩存
緩存由用戶在編寫PHP代碼時用apc_store和apc_fetch函數操作讀取、寫入的。如果數據量不大的話,可以一試。如果數據量大,使用類似memcache此類的更加專著的內存緩存方案會更好
apc 安裝方法
安裝apc
apt-get install php-pear php5-dev libpcre3-dev make
pecl install apc
接著要針對php.ini進行設定
在PHP.ini 中加入以下參數
[APC]
extension=apc.so
apc.enabled=1
apc.shm_segments=1
apc.shm_size=1024M
apc.stat=1
apc.ttl=7200
apc.user_ttl=7200
apc.cache_by_default = 1
apc.max_file_size=1M
apc.filters = NULL
apc.slam_defense=0
apc.write_lock=1
apc.file_update_protection=2
apc.stat_ctime = 0
在apc.ini編輯
[APC]
extension=apc.so
apc.enabled=1
apc.shm_segments=1
apc.shm_size=128M
apc.stat=0
apc.ttl=7200
apc.user_ttl=7200
Drupal 設定
drush dl apc apc_status
編輯settings.php
$conf['cache_backends'][] = 'sites/all/modules/apc/drupal_apc_cache.inc';$conf['cache_class_cache'] = 'DrupalAPCCache';$conf['cache_class_cache_bootstrap'] = 'DrupalAPCCache';
drush en apc apc_status
要使用APC_status模組首先在sites/all/libraries中
新增一個資料夾名為:APC
然後從apc_status模組下載頁面中下載一個檔案叫做apc.php將他重新命名為apc.php.inc,放入libraries/APC中