五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現在的位置: 365建站網 > 365文章 > PHP緩存應用:PHP MEMCACHE 詳解

PHP緩存應用:PHP MEMCACHE 詳解

文章來源:365jz.com     點擊數:378    更新時間:2010-04-14 23:45   參與評論

Memcache函數庫是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的內存數據的臨時存放區(qū)域,在分布式的時候作用體現的非常明顯,否則不建議使用。在ubuntu上安裝完運行的時候報錯:


/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2:

cannot open shared object file: No such file or directory
 

按照:《libeven、memcached、libmemcache安裝》中的方法,使用:

sudo ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

可以修正這個BUG

通過新得立安裝php的memcached模塊,注銷/etc/php5/conf.d/memcached.ini里面的“;”,重啟apache,調用phpinfo()出現memcached的信息。


<?php   
$memcache = new Memcache;   
$memcache->connect('localhost', 11211) or die ("Could not connect");   
$version = $memcache->getVersion();   
echo "Server's version: ".$version."\n";   
?>
<?php    
$memcache = new Memcache;    
$memcache->connect('localhost', 11211) or die ("Could not connect");    
print_r($memcache->getStats());    
/**   
* Array   
* (   
*     [pid] => 8052   
*     [uptime] => 9205   
*     [time] => 1205898428   
*     [version] => 1.2.5   
*     [pointer_size] => 32   
*     [rusage_user] => 0.008000   
*     [rusage_system] => 0.000000   
*     [curr_items] => 1   
*     [total_items] => 17   
*     [bytes] => 57   
*     [curr_connections] => 2   
*     [total_connections] => 15   
*     [connection_structures] => 3   
*     [cmd_get] => 9   
*     [cmd_set] => 23   
*     [get_hits] => 5   
*     [get_misses] => 4   
*     [evictions] => 0   
*     [bytes_read] => 671   
*     [bytes_written] => 850   
*     [limit_maxbytes] => 10485760   
*     [threads] => 1   
* )   
*/    
?>  
 

01.<?php
02.$memcache = new Memcache;
03.$memcache->connect('localhost', 11211) or die ("Could not connect");
04.$memcache->set( 'name', 'leo', 0, 30);
05.if(!$memcache->add( 'name', 'susan', 0, 30))
06.{
07. echo 'susan is exist';
08.};
09.$memcache->replace( 'name', 'lion', 0, 300);
10.echo $memcache->get( 'name');
11.$memcache->delete( 'name', 5);
12.?> 

01.<?php
02.function _callback_memcache_failure($host, $port) {
03. print "memcache '$host:$port' failed";
04.}
05.$memcache = new Memcache;
06.$memcache->addServer('192.168.1.116', 11211);
07.$memcache->setServerParams('192.168.1.116', 11211, 1, 15, true,
08.
09.'_callback_memcache_failure');
10.echo $memcache->getServerStatus('192.168.1.116', 11211);
11.?> 

01.<?php
02.$memcache = new Memcache;
03.$memcache->connect('localhost', 11211);
04.$memcache->set('test_item', 8);
05.$memcache->increment('test_item', 4);
06.echo $memcache->decrement('test_item', 7);
07.// 顯示 5
08.?> 

/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P
 
/tmp/memcached.pid


memcached的服務正式啟動


01.Memcache::add — 添加一個值,如果已經存在,則返回false
02.Memcache::addServer — 添加一個可供使用的服務器地址
03.Memcache::close — 關閉一個Memcache對象
04.Memcache::connect — 創(chuàng)建一個Memcache對象
05.memcache_debug — 控制調試功能
06.Memcache::decrement — 對保存的某個key中的值進行減法操作
07.Memcache::delete — 刪除一個key值
08.Memcache::flush — 清除所有緩存的數據
09.Memcache::get — 獲取一個key值
10.Memcache::getExtendedStats — 獲取進程池中所有進程的運行系統(tǒng)統(tǒng)計
11.Memcache::getServerStatus — 獲取運行服務器的參數
12.Memcache::getStats — 返回服務器的一些運行統(tǒng)計信息
13.Memcache::getVersion — 返回運行的Memcache的版本信息
14.Memcache::increment — 對保存的某個key中的值進行加法操作
15.Memcache::pconnect — 創(chuàng)建一個Memcache的持久連接對象
16.Memcache::replace — R對一個已有的key進行覆寫操作
17.Memcache::set — 添加一個值,如果已經存在,則覆寫
18.Memcache::setCompressThreshold — 對大于某一大小的數據進行壓縮
19.Memcache::setServerParams — 在運行時修改服務器的參數 
建議用面向對象的方式來測試這個庫:

Memcache::getVersion方法的作用是返回運行的Memcache的版本信息。

Memcache::getStats 方法的作用是返回服務器的一些運行統(tǒng)計信息。Memcache::getStats方法有三個參數,第一個參數表示要求返回的類型:reset, malloc, maps, cachedump, slabs, items, sizes;第二個參數和第三個參數是在第一個參數設置“cachedump”時使用的。Memcache::getExtendedStats方法的作用是獲取進程池中所有進程的運行系統(tǒng)統(tǒng)計。

memcache_debug()函數的作用是控制調試功能,前提是php在編譯的時候使用了–enable-debug選項,否則這個函數不會有作用。

Memcache::addServer 方法的作用是添加一個可供使用的服務器地址,Memcache::addServer方法有8個參數,除了第一個參數意外,其他都是可選的,第一個參數表示服務器的地址,第二個參數表示端口,第三個參數表示是否是一個持久連接,第四個參數表示這臺服務器在所有服務器中所占的權重,第五個參數表示連接的持續(xù)時間,第六個參數表示連接重試的間隔時間,默認為15,設置為-1表示不進行重試,第七個參數用來控制服務器的在線狀態(tài),第8個參數允許設置一個回掉函數來處理錯誤信息。

Memcache::setServerParams方法的作用是在運行時修改服務器的參數,Memcache::setServerParams方法有六個參數,Memcache::addServer方法少了第三和第四個參數。 Memcache::getServerStatus方法的作用是獲取運行服務器的參數,兩個參數分別表示的地址和端口。

Memcache::flush方法的作用是清除所有緩存的數據,但是不會削去使用的內存空間。

Memcache::increment方法的作用是對保存的某個key中的值進行加法操作,Memcache::decremen方法的作用是對保存的某個key中的值進行減法操作

本文作者:未知

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網友會為你解答??! 點擊進入論壇

發(fā)表評論 (378人查看,0條評論)
請自覺遵守互聯網相關的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學習

業(yè)務咨詢

· 技術支持
· 服務時間:9:00-18:00
365建站網二維碼

Powered by 365建站網 RSS地圖 HTML地圖

copyright © 2013-2024 版權所有 鄂ICP備17013400號