本文主要介紹了騰訊CMEM的PHP擴充編譯安裝方法,較為詳細的分析了CMEM的功能、作用及安裝使用技巧。希望對大家有幫助。
具體如下:
CMEM是什麼?
CMEM全稱為Cloud Memory,是騰訊提供的高效能記憶體級持久化儲存服務,適用於資料量小、存取量高、key-value儲存的場景。
CMEM基於一個儲存鍵/值對的hashmap,資料使用記憶體存儲,並保證資料的持久性。
CMEM PHP Extension是什麼?
CMEM基於標準的Memcached協定以及接口,只是將資料獲取接口增加返回值設定。
Memcached的Get協定沒有設計回傳碼,所以Memcached API回傳NO_DATA時,有可能是網路原因造成的,不能完全信任。 使用以下流程將是非常危險的,將造成用戶資料初始化:
if(NO_DATA) { InitData(); }
為解決上述問題,CMEM提供了Memcahced文本擴充協議,增加兩個擴充的命令get_ext, gets_ext,讓客戶端可以根據回傳碼判斷資料是否存在。 這樣可以避免網路和裝置故障時get不到資料而導致用戶資料被誤初始化。
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扩展 cp modules/cmem.so /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/ # 配置php.ini # 加入以下内容 # -------------------------------------------------- extension = "cmem.so" # -------------------------------------------------- # 测试 # 新建cmemtest.php cat > /tmp/cmemtest.php # 代码为 # -------------------------------------------------- <?php if(!class_exists('CMEM')) echo "CMEM NOT FOUND!\n"; else echo "CMEM IS OK\n"; ?> # -------------------------------------------------- # 执行测试文件 /usr/local/webserver/php/bin/php -f /tmp/cmemtest.php
#相關推薦:
macOS 中使用phpize 動態加入 PHP 擴充功能的錯誤解決方法
以上是PHP擴展之騰訊CMEM的編譯的詳細內容。更多資訊請關注PHP中文網其他相關文章!