PHP緩衝工具XCache安裝與使用案例解析

來源:互聯網
上載者:User
這次給大家帶來PHP緩衝工具XCache安裝與使用案例解析,PHP緩衝工具XCache安裝與使用的注意事項有哪些,下面就是實戰案例,一起來看一下。

XCache是另外一種在PHP中使用的Opcode緩衝工具。像APC一樣,XCache在共用記憶體中儲存Opcode,並使用緩衝的Opcode來響應對PHP腳步的請求。

在Windows系統上安裝XCache

1、在http://xcache.lighttpd.net/pub/ReleaseArchive 根據你的PHP版本,下載對應的軟體包。

2、解壓後把php_xcache.dll複製到ext目錄中

3、在PHP.ini檔案加入

[XCache]Zend_extension_ts=php_xcache.dall

在Liunx系統上安裝XCache

wget http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gztar -zxvf xcache-1.3.2.tar.gzcd xcache-1.3.2phpize./configure --enable-xcachemakemake install doc.codesky.net

開啟php.ini檔案,增加如下代碼:

[xcache-common]; change me - 64 bit php => /usr/lib64/php/modules/xcache.so; 32 bit php => /usr/lib/php/modules/xcache.sozend_extension = /usr/lib64/php/modules/xcache.so[xcache.admin]xcache.admin.auth = Onxcache.admin.user = "mOo"; xcache.admin.pass = md5($your_password)xcache.admin.pass = ""[xcache]xcache.shm_scheme =    "mmap"xcache.size =        32Mxcache.count =         1xcache.slots =        8Kxcache.ttl  =       3600xcache.gc_interval =     300; Same as aboves but for variable cache; If you don't know for sure that you need this, you probably don'txcache.var_size =      0Mxcache.var_count =       1xcache.var_slots =      8Kxcache.var_ttl  =       0xcache.var_maxttl  =     0xcache.var_gc_interval =   300; N/A for /dev/zeroxcache.readonly_protection = Offxcache.mmap_path =  "/dev/zero"xcache.cacher =        Onxcache.stat  =        On

注意修改zend_extension = /usr/lib64/php/modules/xcache.so為正確的路徑。

XCache設定

xcache.admin.user (String) 管理認證使用者名稱。預設設定"mOo"
xcache.admin.pass (String)管理認證密碼。預設設定為"<empty string>"。此值應該是MD5(你的密碼)
xcache.admin.enable_auth (String)啟用或禁用管理網站的身分識別驗證。預設值"on"
xcache.test (String)啟用或禁用測試功能
xcache.coredump_dir (String)在遇到故障時,放置核心轉儲的目錄。必須是PHP可寫入的目錄。保留為空白帶表禁用
xcache.cacher (Boolean) 啟用或禁用Opcode 緩衝。預設開啟
xcache.size (int)所有共用快取的大小。如果為0,緩衝將無法使用
xcache.count (int)緩衝被分割的“塊”數。預設值1
xcache.slots 雜湊表提示。數字越大,雜湊表內進行的搜尋速度就越快。此值越高,所需記憶體也越多
xcache.ttl (int)Opcode檔案的存留時間。0=無限期緩衝
xcache.gc_interval (秒) 觸發記憶體回收的時間間隔。預設0
xcache.var_size (int)變數大小
xcache.var_count (int)變數個數
xcache.var_slots 可變資料槽設定
xcache.var_ttl (秒)可變資料的存留時間,預設設定0
xcache.var_maxttl (秒)處理變數時最大的存留時間
xcache.var_gc_interval (秒)記憶體回收的存留時間
xcache.readonly_protection (Boolean)啟用ReadonlyProtection時可用。
xcache.mmap_path (String)用於唯讀保護的檔案路徑。這將限制兩個PHP組共用同一個/tmp/cache目錄
xcache.optimizer (Boolean)啟用或禁用最佳化 預設禁用
xcache.coverager (Boolean)啟用覆蓋範圍資料集合。
xcache.coveragerdump_directory (String)放置資料集合資訊的目錄位置。預設使用目錄/tmp/pcovis

執行個體

引用www.initphp.com 架構 Xcache類

<?phpif (!defined('IS_INITPHP')) exit('Access Denied!');/********************************************************************************* * InitPHP 2.0 國產PHP開發架構 Dao-XCACHE緩衝 *------------------------------------------------------------------------------- * 著作權: CopyRight By initphp.com * 您可以自由使用該源碼,但是在使用過程中,請保留作者資訊。尊重他人勞動成果就是尊重自己 *------------------------------------------------------------------------------- * $Author:zhuli * $Dtime:2011-10-09***********************************************************************************/class xcacheInit {  /**   * Xcache緩衝-設定緩衝   * 設定緩衝key,value和緩衝時間   * @param string $key  KEY值   * @param string $value 值   * @param string $time 緩衝時間   */  public function set_cache($key, $value, $time = 0) {    return xcache_set($key, $value, $time);;  }  /**   * Xcache緩衝-擷取緩衝   * 通過KEY擷取快取資料   * @param string $key  KEY值   */  public function get_cache($key) {    return xcache_get($key);  }  /**   * Xcache緩衝-清除一個緩衝   * 從memcache中刪除一條緩衝   * @param string $key  KEY值   */  public function clear($key) {    return xcache_unset($key);  }  /**   * Xcache緩衝-清空所有緩衝   * 不建議使用該功能   * @return   */  public function clear_all() {    $tmp['user'] = isset($_SERVER['PHP_AUTH_USER']) ? null : $_SERVER['PHP_AUTH_USER'];    $tmp['pwd'] = isset($_SERVER['PHP_AUTH_PW']) ? null : $_SERVER['PHP_AUTH_PW'];    $_SERVER['PHP_AUTH_USER'] = $this->authUser;    $_SERVER['PHP_AUTH_PW'] = $this->authPwd;    $max = xcache_count(XC_TYPE_VAR);    for ($i = 0; $i < $max; $i++) {      xcache_clear_cache(XC_TYPE_VAR, $i);    }    $_SERVER['PHP_AUTH_USER'] = $tmp['user'];    $_SERVER['PHP_AUTH_PW'] = $tmp['pwd'];    return true;  }  /**   * Xcache驗證是否存在   * @param string $key  KEY值   */  public function exists($key) {    return xcache_isset($key);  }}

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

PHP+mongoDB資料庫操作步驟詳解

查詢php字串中包含指定資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.