PHP連接Memcached安裝及數據庫操作
阿新 • • 發佈:2018-07-26
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安裝及數據庫操作