您好,登錄后才能下訂單哦!
這篇文章給大家介紹Memcache操作類如何在PHP中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
具體分析如下:
<?php /* 內存緩存管理 */ class Yc_Memcache{ private $memcache=null; public function __construct(){ } /** * 連接數據庫 * * @param mixed $host * @param mixed $port * @param mixed $timeout */ public function connect($host,$port=11211,$timeout=1){ if(!function_exists(memcache_connect)){ return FALSE;} $this->memcache=@memcache_connect($host,$port,$timeout); if(emptyempty($this->memcache)){ return FALSE; }else{ return TRUE; } } /** * 存放值 * * @param mixed $key * @param mixed $var * @param mixed $flag 默認為0不壓縮 壓縮狀態填寫:MEMCACHE_COMPRESSED * @param mixed $expire 默認緩存時間(單位秒) */ public function set($key,$var,$flag=0,$expire=10){ $f=@memcache_set($this->memcache,$key,$var,$flag,$expire); if(emptyempty($f)){ return FALSE; }else{ return TRUE; } } /** * 取出對應的key的value * * @param mixed $key * @param mixed $flags * $flags 如果此值為1表示經過序列化, * 但未經過壓縮,2表明壓縮而未序列化, * 3表明壓縮并且序列化,0表明未經過壓縮和序列化 */ public function get($key,$flags=0){ $val=@memcache_get($this->memcache,$key,$flags); return $val; } /** * 刪除緩存的key * * @param mixed $key * @param mixed $timeout */ public function delete($key,$timeout=1){ $flag=@memcache_delete($this->memcache,$key,$timeout); return $flag; } /** * 刷新緩存但不釋放內存空間 * */ public function flush(){ memcache_flush($this->memcache); } /** * 關閉內存連接 * */ public function close(){ memcache_close($this->memcache); } /** * 替換對應key的value * * @param mixed $key * @param mixed $var * @param mixed $flag * @param mixed $expire */ public function replace($key,$var,$flag=0,$expire=1){ $f=memcache_replace($this->memcache,$key,$var,$flag,$expire); return $f; } /** * 開啟大值自動壓縮 * * @param mixed $threshold 單位b * @param mixed $min_saveings 默認值是0.2表示20%壓縮率 */ public function setCompressThreshold($threshold,$min_saveings=0.2){ $f=@memcache_set_compress_threshold($this->memcache,$threshold,$min_saveings); return $f; } /** * 用于獲取一個服務器的在線/離線狀態 * * @param mixed $host * @param mixed $port */ public function getServerStatus($host,$port=11211){ $re=memcache_get_server_status($this->memcache,$host,$port); return $re; } /** * 緩存服務器池中所有服務器統計信息 * * @param mixed $type 期望抓取的統計信息類型,可以使用的值有{reset, malloc, maps, cachedump, slabs, items, sizes} * @param mixed $slabid cachedump命令會完全占用服務器通常用于 比較嚴格的調 * @param mixed $limit 從服務端獲取的實體條數 */ public function getExtendedStats($type='',$slabid=0,$limit=100){ $re=memcache_get_extended_stats($this->memcache,$type,$slabid,$limit); return $re; } } /***********測試區域********************/ $mem=new Yc_Memcache(); $f=$mem->connect('125.64.41.138',12000); var_dump($f); if($f){ // $mem->setCompressThreshold(2000,0.2); $mem->set('key','hello',0,30); // var_dump($mem->delete('key1')); // $mem->flush(); // var_dump($mem->replace('hao','d')); // echo $mem->get('key'); echo $mem->getServerStatus('127.0.0.1',12000); echo $mem->get('key'); echo '<pre>'; print_r($mem->getExtendedStats()); } ?>
關于Memcache操作類如何在PHP中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。