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 以減少資料庫的負擔...