腾讯CMEM的PHP扩展编译安装方法

yipeiwu_com5年前PHP代码库

本文实例讲述了腾讯CMEM的PHP扩展编译安装方法。分享给大家供大家参考。具体如下:

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

希望本文所述对大家的php程序设计有所帮助。

相关文章

php操作mongoDB实例分析

本文实例讲述了php操作mongoDB的方法。分享给大家供大家参考。具体分析如下: mongoDB数据库是一种以json格式存储的数据库,非常适用于各种应用开发,这里就来给各位朋友介绍一...

基于php常用函数总结(数组,字符串,时间,文件操作)

数组:【重点1】implode(分隔,arr) 把数组值数据按指定字符连接起来例如:$arr=array('1','2','3','4');$str=implode('-',$arr);...

php中10个不同等级压缩优化图片操作示例

本文实例分析了php中10个不同等级压缩优化图片操作。分享给大家供大家参考,具体如下: 今天找到一个php写的压缩图片程序,可以分10个等级(0-9)来压缩,0等级时压缩比率不是很大,图...

PHP生成唯一的促销/优惠/折扣码(附源码)

每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在PHP生成唯一的促销/折扣码。主要是实现一个优惠码系统,可用于跟踪用户来自某些特定的来源,例如有些主...

PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发

复制代码 代码如下: /** * CURL请求 * @param String $url 请求地址 * @param Array $data 请求数据 */ function curlR...