本文實(shí)例講述了騰訊CMEM的PHP擴(kuò)展編譯安裝方法。分享給大家供大家參考。具體如下:
CMEM是什么?
CMEM全稱為Cloud Memory,是騰訊提供的高性能內(nèi)存級(jí)持久化存儲(chǔ)服務(wù),適用于數(shù)據(jù)量小、訪問(wèn)量高、key-value存儲(chǔ)的場(chǎng)景。
CMEM基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap,數(shù)據(jù)使用內(nèi)存存儲(chǔ),并保證數(shù)據(jù)的持久性。
CMEM PHP Extension是什么?
CMEM基于標(biāo)準(zhǔn)的Memcached協(xié)議以及接口,只是將數(shù)據(jù)獲取接口增加返回值設(shè)定。
Memcached的Get協(xié)議沒(méi)有設(shè)計(jì)返回碼,所以Memcached API返回NO_DATA時(shí),有可能是網(wǎng)絡(luò)原因造成的,不能完全信任。 使用如下流程將是非常危險(xiǎn)的,將造成用戶數(shù)據(jù)初始化:
if(NO_DATA) { InitData(); }
為解決上述問(wèn)題,CMEM提供了Memcahced文本擴(kuò)展協(xié)議,增加兩個(gè)擴(kuò)展的命令get_ext, gets_ext,使客戶端可以根據(jù)返回碼判斷數(shù)據(jù)是否存在。 這樣可以避免網(wǎng)絡(luò)和設(shè)備故障時(shí)get不到數(shù)據(jù)而導(dǎo)致用戶數(shù)據(jù)被誤初始化。
CMEM編譯與安裝
# 下載CMEM cd /home/src wget http://cmem.googlecode.com/files/cmem-2.2.6.tar.gz # 解壓 tar zxvf cmem-2.2.6.tar.gz cd cmem-2.2.6 # 編譯 /usr/local/webserver/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config make # 安裝PHP擴(kuò)展 cp modules/cmem.so /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/ # 配置php.ini # 加入以下內(nèi)容 # -------------------------------------------------- extension = "cmem.so" # -------------------------------------------------- # 測(cè)試 # 新建cmemtest.php cat > /tmp/cmemtest.php # 代碼為 # -------------------------------------------------- <?php if(!class_exists('CMEM')) echo "CMEM NOT FOUND!n"; else echo "CMEM IS OKn"; ?> # -------------------------------------------------- # 執(zhí)行測(cè)試文件 /usr/local/webserver/php/bin/php -f /tmp/cmemtest.php
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。