PHP串連、操縱Memcached的原理和教程_PHP教程

來源:互聯網
上載者:User

PHP串連、操縱Memcached的原理和教程


Memcahced是一個開源分布式記憶體對象緩衝系統。稍微大一點的項目經常會使用 Memcached 以減少資料庫的負擔,從而加速web應用的響應速度。網路上有大量關於 Memcached 安裝的方法以及使用介紹,本文所要說的就是其實 memcached 很簡單,沒有想象的那麼神秘,我們可以簡單的理解為它就是一個快取服務器應用程式,就像是你裝了個 Mysql 一樣,裝好了之後用帳號密碼IP地址連一下就能使用。

首頁簡單的介紹一下 memcached 的原理

第一次使用者發送請求,PHP程式會在訪問db資料庫的同時,將訪問的資料寫入Memcached系統。

,user發送了req請求,application發送資料請求到database,database在將資料返回給application的同時,將資料緩衝到了Memcached伺服器。

第二次使用者請求到達,會直接讀取Memcached伺服器的緩衝,而不是資料庫中的內容,從而減輕了伺服器的負擔。

本圖顯示,第二次的請求,application直接從Memcached(簡稱Mc)讀取資料。

下面通過一個執行個體分享一下 memcached  的基本使用方法(類似友情連結的一個開發執行個體)。相信通過這個執行個體,你就能很清楚的理解了這個東東。

下面的案例假設你已經安裝好了 memcached 服務,如果沒有安裝的話,請參考本站:

memcached是什嗎?memcache該何使用?

windows系統下安裝memcache

(1)建立一個資料庫

執行個體中使用的資料庫表包含一個自增的id,一個標題和一個連結欄位:

CREATE TABLE demos(id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(300), link VARCHAR(300), );

(2)程式部分(程式的注釋會讓你很輕鬆的理解 memcached 的使用)

connect('localhost', 11211) or die ("Could not connect");//快取服務器中,都是索引值對,這裡我們設定唯一的鍵$key = md5('www.crazyant.net'); $cache_result = array();//根據鍵,從快取服務器中擷取它的值$cache_result = $memcache->get($key); //如果存在該鍵對應的值,說明緩衝中存在該內容if($cache_result){//那我們直接取出緩衝的內容就可以了$demos_result=$cache_result;} else {//如果緩衝中沒有該鍵對應的值資料,說明請求是第一次到達//首先,我們需要從資料庫中取出該值$v=mysql_query("select * from demos order by id desc");while($row=mysql_fetch_array($v)){//取出的內容就是我們需要的$demos_result[]=$row; }//最後,將這次從資料庫取出的內容,放到Memcached快取服務器,這裡就是緩衝的精髓$memcache->set($key, $demos_result, MEMCACHE_COMPRESSED, 1200); }//前面的所有操作,最終返回了我們需要的資料foreach($demos_result as $row){echo ''.$row['title'].'';}?>

下面是用於串連資料庫的代碼檔案 db.php


您可能感興趣的文章

  • PHP串連access資料庫的二種方法
  • 如何通過命令列查看memcache當前啟動並執行狀態
  • PHP實現同伺服器多個次層網域共用 SESSION 資料
  • windows下memcache的安裝與配置教程
  • 給php初學者推薦的一本php經典教程書籍
  • php擷取目錄所有檔案並將結果儲存到數組的程式
  • php擷取漢字拼音首字母的函數(真正可以使用的)
  • 兄弟連php進階編程視頻教程下載

http://www.bkjia.com/PHPjc/976851.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/976851.htmlTechArticlePHP串連、操縱Memcached的原理和教程 Memcahced是一個開源分布式記憶體對象緩衝系統。稍微大一點的項目經常會使用 Memcached 以減少資料庫的負擔...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.