《PHP應用:thinkPHP實現MemCache分布式緩存功能》要點:
本文介紹了PHP應用:thinkPHP實現MemCache分布式緩存功能,希望對您有用。如果有疑問,可以聯系我們。
相關主題:memcache擴展 / 鍵值KeyValue存儲數據庫
PHP實例本文實例講述了thinkPHP實現MemCache分布式緩存功能.分享給大家供大家參考,具體如下:
PHP實例兩天在研究MemCache分布式緩存的問題時,發現ThinkPHP其實并不支持分布式緩存功能,這可以從官方提供的CacheMemcache.class.php文件中看到:
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']);
PHP實例不過不要緊,稍微修改下就行了,即
PHP實例
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),
),
);
}
//分布式處理函數
$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']);
}
}
PHP實例閑來無事,于是就在本機上啟動了兩個MemCache服務器,順手編寫了一段簡單的監控代碼(隔一段時間自動刷新一次),進行測試.如果發現服務器運行不正常,則使用PhpMailer自動發送一封Email到管理員郵箱.測試結果表明,兩臺Memcache服務器均工作正常,而另外一臺虛假的服務器當然是無法連接到的.哈哈,夠簡單的吧
PHP實例更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《ThinkPHP常用辦法總結》、《smarty模板入門基礎教程》及《PHP模板技術總結》.
PHP實例希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所贊助.
《PHP應用:thinkPHP實現MemCache分布式緩存功能》是否對您有啟發,歡迎查看更多與《PHP應用:thinkPHP實現MemCache分布式緩存功能》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7249.html