Memcached 簡明教程

常用參數(shù)

  • -d 守護(hù)進(jìn)程方式啟動
  • -l 127.0.0.1 地址為127.0.0.1
  • -p 11211 端口
  • -m 150 分配 150M 內(nèi)存
  • -u root 用root身份去運(yùn)行

客戶端安裝(libmemcached、php的擴(kuò)展)

Tip: --prefix=/path/to/install_path 可以指定安裝目錄
解壓php擴(kuò)展的壓縮包之后,進(jìn)入該目錄,運(yùn)行phpize,就會出現(xiàn)configure文件多矮。可能報錯,需要你指定php-config文件(/path/to/php/bin/php-config),以及l(fā)ibmemcached安裝的目錄,按照提示一步一步來再来。
make install會返回一個擴(kuò)展的地址
編輯 php.ini:

extension=memcached.so

測試

php -m | grep memcached 查看是否安裝成功

使用

$m = new Memcached();
$array = array(
    array('127.0.0.1',11211);
   );
$m->addServers($array);

$m->add('mkey','mvalue',600);
//$m->add('mkey','mvalue_02',600)
// ↑ 不會替換掉原來的
$m->replace('mkey','mvalue_02',600)
// ↑ 替換掉mkey得值
$m->get('mkey');

$m->set('mkey','mvalue',600);
// ↑ 當(dāng)存在會替換,不存在會生成

$m->delete('mkey');// 刪除
$m->flush() // 清空所有

//針對 int 數(shù)據(jù)
$m->set('num',5,0); // 0 表示永久生效
$m->increment('num',5); //num 增加 5

//復(fù)合類型存儲與讀取
$data = array(
 'key' => 'value',
 'k2' => 'v2'
)

$m->setMulti($data,0);

$m->getMulti(array('key','key2'));

$m->deleteMulti(array('key','key2');

$m->getResultCode()
// ↑ 獲得上一次操作的編碼

$m->getResultMessage()
// ↑ 獲得上一次操作的消息

讓我們自己動手封裝一個簡單 Memcache類

//Tip: 由于時間原因,這里我并沒有進(jìn)行一些測試极颓,寫的不一定對。
//這里封裝的很簡單群嗤,目的就是熟悉一下php memcached 擴(kuò)展提供的一些方法,大家還可以自己動手封裝一個更加健壯的兵琳,用適配器模式狂秘,適配Redis等。
//類似于這樣
//set $cache->operation($key,$value,$time)
//get  $cache->operation($key)
//delete $cache->operation($key,null)

Class Cache
{
 private $type = 'Memacached'; //存儲使用的Cache類型
 private $instance; //存儲實(shí)例
 private $time = 0; //默認(rèn)存儲時間
 private $error; //錯誤
 // 構(gòu)造器
 public function __construct(){
  if(!class_exists($this->type)){
   $this->error = 'No'.$this->type;
   return false;
  }else{
   //存儲實(shí)例
   $this->instance = new $this->type;
  }
 }
 
 public function addServer($array){
  $this->instance->addServers($array);
 }
 
 // 主要操作類
 public function operation($key,$value = '',$time = NULL){
  $number = func_num_args();//獲取參數(shù)個數(shù)
  if($number == 1){
   $this->get($key) //只有一個參數(shù)獲取操作
  }else if($number >= 2 ){
   //第二個參數(shù)為空代表刪除
   if($value === null)
   {
    $this->delete($key); 
    return;
   }
   // 存儲操作
   $this->set($key,$value,$time);
  }
 }
 
 // 返回錯誤
 public function getError()
 {
  // 存在本類的錯誤躯肌,就返回者春,并且終止執(zhí)行下面語句。
  if($this->error) return $this->error;
  // 沒有執(zhí)行上面的清女,就直接返回Memacached的上一個操作的信息
  return $this->instance->getResultMessages();
 }
 
 // 存儲
 public function set($key,$value,$time = NULL)
 {
  if($time == NULL)$this->instance->set($key,$value,$this->time);
  $this->instance($key,$value,$time);
  if($this->instance->getResultCode() != 0)return false;
 }
 
 public function get($key){
  $result =  $this->intance->get($key);
  if($this->instance->getResultCode() != 0)return false;
  return $result;
 }
 
 public function delete(){
  $result =  $this->intance->delete($key);
  if($this->instance->getResultCode() != 0)return false;
  return $result;
 )
 
 public function flush(){
  return $this->instance->flush();
 }
 
 public function getInstance(){
  if($this->instance)return $this->instance;
 }
 
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钱烟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嫡丙,更是在濱河造成了極大的恐慌拴袭,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曙博,死亡現(xiàn)場離奇詭異拥刻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)父泳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進(jìn)店門般哼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惠窄,你說我怎么就攤上這事蒸眠。” “怎么了杆融?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵楞卡,是天一觀的道長。 經(jīng)常有香客問我擒贸,道長臀晃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任介劫,我火速辦了婚禮徽惋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘座韵。我一直安慰自己险绘,他們只是感情好踢京,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宦棺,像睡著了一般瓣距。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上代咸,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天蹈丸,我揣著相機(jī)與錄音,去河邊找鬼呐芥。 笑死逻杖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的思瘟。 我是一名探鬼主播荸百,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼滨攻!你這毒婦竟也來了够话?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤光绕,失蹤者是張志新(化名)和其女友劉穎女嘲,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奇钞,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡澡为,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了景埃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片媒至。...
    茶點(diǎn)故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖谷徙,靈堂內(nèi)的尸體忽然破棺而出拒啰,到底是詐尸還是另有隱情,我是刑警寧澤完慧,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布谋旦,位于F島的核電站,受9級特大地震影響屈尼,放射性物質(zhì)發(fā)生泄漏册着。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一脾歧、第九天 我趴在偏房一處隱蔽的房頂上張望甲捏。 院中可真熱鬧,春花似錦鞭执、人聲如沸司顿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽大溜。三九已至化漆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钦奋,已是汗流浹背座云。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锨苏,地道東北人疙教。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像伞租,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子限佩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 一葵诈、MemCache簡介 session MemCache是一個自由、源碼開放祟同、高性能作喘、分布式的分布式內(nèi)存對象緩存...
    李偉銘MIng閱讀 3,827評論 2 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)晕城,斷路器泞坦,智...
    卡卡羅2017閱讀 134,722評論 18 139
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 1,830評論 0 3
  • 1、memcache的概念砖顷? Memcache是一個高性能的分布式的內(nèi)存對象緩存系統(tǒng)贰锁,通過在內(nèi)存里維護(hù)一個統(tǒng)一的巨...
    桖辶殤閱讀 2,243評論 2 12
  • 首先最好一直在root用戶下進(jìn)行安裝。 一滤蝠、安裝mysql 1.安裝編譯環(huán)境 yum -y inst...
    Lin_小旻閱讀 804評論 0 7