網站提速-緩存技術(4)

 

緩存技術

memcached基本概念

Memcacheddanga的一個項目,最先是爲LiveJournal 服務的,最初爲了加速 LiveJournal 訪問速度而開發的,後來被不少大型的網站採用。 官方網站: www.danga.com  memcached.org php


Memcached
是一個高性能的分佈式的內存對象緩存系統,目前全世界很多人使用這個緩存項目來構建本身大負載的網站,來分擔數據庫的壓力,經過在內存裏維護一個統一的巨大的hash表,它可以用來存儲各類格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,而後從內存中讀取,從而大大提升讀取速度。 html

Memcached--原理示意圖算法

簡單的說: memcached就是在內存 數據庫

中維護一張巨大的hash,經過本身 windows

的一套算法來維護數據的操做,這個 數組

算法比較複雜,咱們重點掌握如何在項目如何使Memcached技術. Memcached-安裝  緩存

安裝步驟 分佈式

①下載memcached軟件 ide

②將memcached軟件拷貝到某個目錄,最好放在php開發環境目錄下, memcached

便於管理

③cmd命令下執行,安裝  memcached d install [卸載使用 memcached -d uninstall]

memcached d start ,啓動 memcached 服務

⑤查看memcached 服務是否啓動成功! 默認端口11211

Win7系統要注意咱們要進入c\windows\system32,而後以管理員運行cmd.exe程序。

Linuxmemcache安裝

Linux下是基於libevent事件,必須先按它

安裝libevent

                  ./configure –with-libevent=/usr

                  Make && make install

安裝memcached

                  ./configure –with-libevent=/usr

                  Make && make install

啓動Memcahced –d –m 128 –l 192.168.1.111 –p 11211 –u root

-m只內存,-l指容許的主機,-p端口,-u用戶

中止: kill `cat /tmp/memcached.pid`;Killall  memcached 

telnet操做Memcached

Telnet能夠操做memcache,不過win7以上版本默認沒安裝它,要到程序管理裏面安裝它。

Telnet localhost 11211  // 登錄memcache

Stats 查看狀態,查看命中率96次命中

 

 

saisai字段名增長一個值,字段位從1開始,時間1000秒,長度爲10字節.

Set 能夠用來更新字段,get來讀取字段

Append追加字段,preppend前追加字段

Incr name number增長字段的值,decr name number減小字段的值,quit用來退出telnet鏈接


 

 
文本框: Memcached服務

安裝並配置Memcache擴展庫

php.ini文件添加:

extension=php_memcache.dll

 

並把對應的php_memcache.dll文件拷貝到 php/ext目錄下

測試一下php環境

 

              測試:

              <?php

              $mem = new Memcache; 

              $mem->connect(127.0.0.1, 11211); 

              // $mem->addserver(lamp,11211);

              // $mem->addserver(192.168.12.1,11211);   //開啓多個

              $mem->set(test, Hello world!, 0, 12); 

              $val = $mem->get(test); 

              echo $val; 

              ?>

Memcache緩存數組和類:

$mem->add("myarr",array("aaa","bbb","ccc"));

print_r($mem->get("myarr"));

echo '<br>';

class  person{

  var $name="zhangsan";

  var $age=10;

  }

 $mem->add("myobj",new person);

 var_dump($mem->get("myobj"));

 $mem->close();

 

查看Memcache狀態

echo $mem->getVersion();

 echo '<pre>';

 print_r($mem->getStats());

 echo '</pre>';

  $mem->close();  


 

相關文章
相關標籤/搜索