首頁  >  文章  >  後端開發  >  PHP擴展之騰訊CMEM的編譯

PHP擴展之騰訊CMEM的編譯

*文
*文原創
2017-12-27 15:05:471610瀏覽

本文主要介紹了騰訊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(&#39;CMEM&#39;)) echo "CMEM NOT FOUND!\n";
else echo "CMEM IS OK\n";
?>
# --------------------------------------------------
# 执行测试文件
/usr/local/webserver/php/bin/php -f /tmp/cmemtest.php

#相關推薦:

macOS 中使用phpize 動態加入 PHP 擴充功能的錯誤解決方法

#Linux 下 PHP 擴充 cURL 編譯安裝

#Linux 下 PHP 擴充 redis 編譯安裝

以上是PHP擴展之騰訊CMEM的編譯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn