thinkPHP實現(xiàn)MemCache分布式緩存功能
來源:易賢網(wǎng) 閱讀:1238 次 日期:2016-08-31 16:05:38
溫馨提示:易賢網(wǎng)小編為您整理了“thinkPHP實現(xiàn)MemCache分布式緩存功能”,方便廣大網(wǎng)友查閱!

本文實例講述了thinkPHP實現(xiàn)MemCache分布式緩存功能。分享給大家供大家參考,具體如下:

兩天在研究MemCache分布式緩存的問題時,發(fā)現(xiàn)ThinkPHP其實并不支持分布式緩存功能,這可以從官方提供的CacheMemcache.class.php文件中看到:

if(empty($options)) {

  $options = array

  (

    'host' => '127.0.0.1',

    'port' => 11211,

    'timeout' => false,

    'persistent' => false

  );

}

$func = $options['persistent'] ? 'pconnect' : 'connect';

$this->expire = isset($options['expire'])?$options['expire']:C('DATA_CACHE_TIME');

$this->handler = new Memcache;

$this->connected = $options['timeout'] === false ?

$this->handler->$func($options['host'], $options['port']) :

$this->handler->$func($options['host'], $options['port'], $options['timeout']);

不過不要緊,稍微修改下就行了,如下:

if(empty($options)) {

  $options = array

  (

    'timeout' => false,

    'persistent' => false,

    'servers'=>array(

      array('ip'=>'127.0.0.1','port'=>11211),

      array('ip'=>'127.0.0.1','port'=>11212),

      array('ip'=>'202.116.32.4','port'=>11211),

    ),

  );

}

//分布式處理函數(shù)

$func="addServer";

$this->expire = isset($options['expire'])?$options['expire']:C('DATA_CACHE_TIME');

$this->handler = new Memcache;

if($options['timeout']===false)

{

  foreach($options['servers'] as $server)

  {

    $this->handler->$func($server['ip'],$server['port']);

  }

}

閑來無事,于是就在本機上啟動了兩個MemCache服務器,順手編寫了一段簡單的監(jiān)控代碼(隔一段時間自動刷新一次),進行測試。如果發(fā)現(xiàn)服務器運行不正常,則使用PhpMailer自動發(fā)送一封Email到管理員郵箱。測試結(jié)果表明,兩臺Memcache服務器均工作正常,而另外一臺虛假的服務器當然是無法連接到的。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:thinkPHP實現(xiàn)MemCache分布式緩存功能

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)