本文主要介绍了腾讯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 扩展的错误解决方法
linux 下 php 扩展 curl 编译安装
linux 下 php 扩展 redis 编译安装
以上就是php扩展之腾讯cmem的编译的详细内容。