ThinkPHP架構中使用Memcached快取資料步驟詳解

來源:互聯網
上載者:User
這次給大家帶來ThinkPHP架構中使用Memcached快取資料步驟詳解,ThinkPHP架構中使用Memcached快取資料的注意事項有哪些,下面就是實戰案例,一起來看一下。

ThinkPHP預設使用檔案快取資料,支援Memcache等其他緩衝方式,有兩個PHP擴充:Memcache和Memcached,Memcahe官方有說明,主要說一下Memcached。

相對於PHP Memcache,php Memcached是基於原生的c的libmemcached的擴充,更加完善,建議替換為php memcached。

版本3.2.2開始內建了Memcached驅動(ThinkPHP/Library/Think/Cache/Driver/Memcached.class.php),但是文檔中並沒有說明用法,通過查看源碼配置並測試成功。

有個bug至今未修複,就是到期時間為0的問題,理論上應該是永久緩衝,但是驅動中未做處理,會馬上到期,set方法修改如下

 public function set($name, $value, $expire = null) {  N('cache_write',1);  if(is_null($expire)) {   $expire = $this->options['expire'];  }  $name = $this->options['prefix'].$name;  if (empty($expire))   $time = 0;  else   $time = time() + $expire;  if($this->handler->set($name, $value, $time)) {   if($this->options['length']>0) {    // 記錄緩衝隊列    $this->queue($name);   }   return true;  }  return false; }

在設定檔config.php中添加

//緩衝配置 'DATA_CACHE_TYPE' => 'Memcached', 'MEMCACHED_SERVER' => array(  array('127.0.0.1', 11211, 0) ),

驅動中是調用:

Memcached::addServers(array)

可以添加多個快取服務器

還有一個配置項是 MEMCACHED_LIB,調用的是:

Memcached::setOptions(array)

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

推薦閱讀:

PHP狀態模式使用詳解

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.