1. 程式人生 > >PHP連接Memcached安裝及數據庫操作

PHP連接Memcached安裝及數據庫操作

nec append 編譯 con 源碼包 ever cached 火墻 memcached

memcached介紹

Memcached是一套開源的高性能分布式內存對象緩存系統,它將所有的數據都存
儲在內存中,因為在內存中會統一維護一張巨大的Hash表,所以支持任意存儲類型的
數據。很多網站通過使用 Memcached提高網站的訪問速度,尤其是對於大型的需要頻
繁訪問數據的網站。

Memcached是典型的C/S架構,因此需要安裝 Memcached服務端與 Memcached
API客戶端。 Memcached服務端是用C語言編寫的,而 Memcached API客戶端可以用
任何語言來編寫,如PHP、 Python、Perl等,並通過 Memcached協議與 Memcached服
務端進行通信。

一、安裝Memcached服務器

第一步:準備

1. 安裝包

  • memcached-1.5.6.tar.gz

  • libevent-2.1.8-stable.tar.gz

2.安裝軟件支持包

yum install -y gcc gcc-c++

3.關閉防火墻和安全性策略

systemctl stop firewall.service 
setenforce 0

第二步:安裝Libevent

1.解壓至opt目錄下

tar zxvf libevent-2.1.8-stable.tar.gz -C /opt/

2.配置

cd /opt/libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent  #Libevent的安裝路徑

3.make安裝

make && make install

第三步:安裝Memcached

1.解壓至opt目錄下

tar zxvf memcached-1.5.6.tar.gz -C /opt/

2.配置

cd /opt/memcached-1.5.6
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/  #安裝時需要指定Libevent的路徑

3.make安裝

make && make install

第四步:安裝後的操作

1.創建鏈接文件,方便使用memcached命令

ln -s /usr/local/memcached/bin/* /usr/local/bin/

2.啟動服務

memcached -d -m 32m -p 11211 -u root

-d: 以守護進程的方式運行Memcached服務

-m: 為Memached分配內存

-u: 指定運行的用戶賬戶

二、安裝Memcached API客戶端

第一步:準備

1.準備lamp架構

詳細操作參考部署lamp架構

2.安裝包

  • memcache-2.2.7.tgz

3.安裝軟件支持包

yum install -y gcc gcc-c++

第二步:安裝Memcache

1.解壓至opt目錄下

tar zxvf memcache-1.5.6.tar.gz -C /opt/

2.配置

註意配置Memcached API時,memcache-1.5.6.tar.gz源碼包中默認沒有configure配置腳本,需要使用PHP的phpize腳本生成配置腳本configure。

cd /opt/memcache-2.2.7

/usr/local/php5/bin/phpize #增加為PHP的模塊後再對memcache進行配置編譯

./configure --enable-memcache --with-php-config=/usr/local/php5/bin/php-config

3.make安裝

[root@localhost memcache-2.2.7]# make && make install
........#省略內容

Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-zts-20131226/
#共享組件的位置

第四步:配置PHP添加Memcached組件

編輯PHP配置文件php.ini,添加Memcached組件.

vim /usr/local/php5/php.ini
  extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/"  #n內容是共享組件的位置
  extension = memcache.so 

第五步:檢測連接服務端

編寫測試頁面,測試memcached工作是否正常。

vim /usr/local/httpd/htdocs/index.php 

<?php
$memcache = new Memcache();
$memcache->connect(‘192.168.100.130‘,11211);
$memcache->set(‘key‘,‘Memcache test Successfull!‘,0,60);
$result = $memcache->get(‘key‘);
unset($memcache);
echo $result;
?>

技術分享圖片

三、連接Memcached服務端,對Memcached數據庫進行操作與管理

1.添加一條鍵值數據

add username 0 0 7   
example
STORED

標記位表示自定義信息為0,過期時間為0,字節數為7

2.查詢鍵值數據

get username
VALUE username 0 7
example
END
gets username        #檢查最近是否更新
VALUE username 0 7 1 #最後一位是更新因子,每更新一次更新因子數會加1
example
END

3.更新一條鍵值數據

set username 0 0 10
everything
STORED
get username
VALUE username 0 10
everything
END

4.清除一條緩存數據

delete username
DELETED
get usename
END

5.檢查後更新

gets username
VALUE username 0 10 4
everything
END
cas username 0 0 7 3   #最後一個更新因子數與gets返回的不等,返回EXISTS
lodging
EXISTS
cas username 0 0 7 4   #最後一個更新因子數與gets返回的相等,緩存成功
lodging
STORED

6.追加數據

append username 0 0 7  #後追加7字節
example
STORED
get username
VALUE username 0 14
lodgingexample
END
prepend username 0 0 2 #前追加2字節
un
STORED
get username
VALUE username 0 16
unlodgingexample
END

7.清除所有緩存數據

flush_all
OK

PHP連接Memcached安裝及數據庫操作