php進行memcache快取作業

來源:互聯網
上載者:User
Memcache函數庫是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的記憶體資料的臨時存放地區,在分布式的時候作用體現的非常明顯,否則不建議使用。本文將給大家介紹了關於利用php操作memcache緩衝的基礎方法,需要的朋友可以參考下。

前言

最近在工作中又遇到了memcache,大家應該都有所瞭解,memcache 是一個高效的分布式的記憶體對象緩衝系統,他可以支援把php的各種資料(數組,對象,基礎資料型別 (Elementary Data Type))放在它管理的記憶體中,本文將給大家詳細介紹關於php操作memcache緩衝的基礎方法,話不多說,來一起看看詳細的介紹吧。

1、代碼使用


<?php   //串連  $mem = new Memcache;  $mem->connect("127.0.0.1", 11211) or die ("Could not connect");  //顯示版本  $version = $mem->getVersion();  echo "Memcached Server version: ".$version."<br>";  //儲存資料  $mem->set('key1', 'This is first value', 0, 60);  $val = $mem->get('key1');  echo "Get key1 value: " . $val ."<br>";  //替換資料  $mem->replace('key1', 'This is replace value', 0, 60);  $val = $mem->get('key1');  echo "Get key1 value: " . $val . "<br>";  //儲存數組  $arr = array('aaa', 'bbb', 'ccc', 'ddd');  $mem->set('key2', $arr, 0, 60);  $val2 = $mem->get('key2');  echo "Get key2 value: ";  print_r($val2);  echo "<br>";   //對數組進行序列化,在網路傳輸的時候,為了保證,資料類型的不丟失,先序列化,再發生.  //$arr1=serialize($arr);  $arr2=json_encode($arr1);  print_r($arr2);   //刪除資料  $mem->delete('key1');  $val = $mem->get('key1');  echo "Get key1 value: " . $val . "<br>";  //清除所有資料  $mem->flush();  $val2 = $mem->get('key2');  echo "Get key2 value: ";  print_r($val2);  echo "<br>";  //關閉串連  $mem->close();  ?>

2、函數庫詳解:

  • Memcache::add - 添加一個值,如果已經存在,則返回false

  • Memcache::addServer - 添加一個可供使用的伺服器位址

  • Memcache::close - 關閉一個Memcache對象

  • Memcache::connect - 建立一個Memcache對象

  • memcache_debug - 控制調試功能! [4 F8 C2 e, X

  • Memcache::decrement - 對儲存的某個key中的值進行減法操作

  • Memcache::delete - 刪除一個key值

  • Memcache::flush - 清除所有緩衝的資料

  • Memcache::get - 擷取一個key值

  • Memcache::getExtendedStats - 擷取進程池中所有進程的運行系統統計

  • Memcache::getServerStatus - 擷取運行伺服器的參數

  • Memcache::getStats - 返回伺服器的一些運行統計資訊

  • Memcache::getVersion - 返回啟動並執行Memcache的版本資訊

  • Memcache::increment - 對儲存的某個key中的值進行加法操作

  • Memcache::pconnect - 建立一個Memcache的持久連線物件

  • Memcache::replace -對一個已有的key進行覆寫操作

  • Memcache::set - 添加一個值,如果已經存在,則覆寫

  • Memcache::setCompressThreshold - 對大於某一大小的資料進行壓縮

  • Memcache::setServerParams - 在運行時修改伺服器的參數

3、分布式使用:

Memcache函數庫是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的記憶體資料的臨時存放地區,在分布式的時候作用體現的非常明顯


<?php   //1.執行個體化一個Memcache對象  $mem=new Memcache();   //2. 串連到指定的memcache中  // $mem->connect("127.0.0.1",11211);   //如果我們網站,需要多個memached緩衝系統,如下使用分布式  $mem->addServer("192.168.1.100",11211);  $mem->addServer("192.168.1.200",11211);  $mem->addServer("192.168.1.222",11211);   //建立多個memcache服務使用addServer 會根據負載平衡演算法,自動放入每個伺服器  $mem->add("name","zs",0,100);  ?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.