首頁  >  文章  >  後端開發  >  PHP快取工具XCache安裝與使用案例解析

PHP快取工具XCache安裝與使用案例解析

php中世界最好的语言
php中世界最好的语言原創
2018-05-17 10:21:311783瀏覽

這次帶給大家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.gz
tar -zxvf xcache-1.3.2.tar.gz
cd xcache-1.3.2
phpize
./configure --enable-xcache
make
make 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.so
zend_extension = /usr/lib64/php/modules/xcache.so
[xcache.admin]
xcache.admin.auth = On
xcache.admin.user = "mOo"
; xcache.admin.pass = md5($your_password)
xcache.admin.pass = ""
[xcache]
xcache.shm_scheme =    "mmap"
xcache.size =        32M
xcache.count =         1
xcache.slots =        8K
xcache.ttl  =       3600
xcache.gc_interval =     300
; Same as aboves but for variable cache
; If you don't know for sure that you need this, you probably don't
xcache.var_size =      0M
xcache.var_count =       1
xcache.var_slots =      8K
xcache.var_ttl  =       0
xcache.var_maxttl  =     0
xcache.var_gc_interval =   300
; N/A for /dev/zero
xcache.readonly_protection = Off
xcache.mmap_path =  "/dev/zero"
xcache.cacher =        On
xcache.stat  =        On

注意修改

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

XCache設定

xcache.admin.user   (String) 管理認證使用者名稱。預設值"mOo"

xcache.admin.pass  (String)管理認證密碼。預設為"37e76f5c3f94a4b26f6845171186662b"。此值應該是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類別

<?php
if (!defined(&#39;IS_INITPHP&#39;)) exit(&#39;Access Denied!&#39;);
/*********************************************************************************
 * 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[&#39;user&#39;] = isset($_SERVER[&#39;PHP_AUTH_USER&#39;]) ? null : $_SERVER[&#39;PHP_AUTH_USER&#39;];
    $tmp[&#39;pwd&#39;] = isset($_SERVER[&#39;PHP_AUTH_PW&#39;]) ? null : $_SERVER[&#39;PHP_AUTH_PW&#39;];
    $_SERVER[&#39;PHP_AUTH_USER&#39;] = $this->authUser;
    $_SERVER[&#39;PHP_AUTH_PW&#39;] = $this->authPwd;
    $max = xcache_count(XC_TYPE_VAR);
    for ($i = 0; $i < $max; $i++) {
      xcache_clear_cache(XC_TYPE_VAR, $i);
    }
    $_SERVER[&#39;PHP_AUTH_USER&#39;] = $tmp[&#39;user&#39;];
    $_SERVER[&#39;PHP_AUTH_PW&#39;] = $tmp[&#39;pwd&#39;];
    return true;
  }
  /**
   * Xcache验证是否存在
   * @param string $key  KEY值
   */
  public function exists($key) {
    return xcache_isset($key);
  }
}

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

推薦閱讀:

PHP mongoDB資料庫操作步驟詳解

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

以上是PHP快取工具XCache安裝與使用案例解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn