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


Posted in PHP onSeptember 25, 2015

本文实例讲述了腾讯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 相关文章推荐
PHP 5.0对象模型深度探索之绑定
Sep 05 PHP
PHP动态创建Web站点的方法
Aug 14 PHP
PHP生成plist数据的方法
Jun 16 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
ThinkPHP中数据操作案例分析
Sep 27 PHP
PHP5.3新特性小结
Feb 14 PHP
PHP使用file_get_content设置头信息的方法
Feb 14 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
PHP单例模式实例分析【防继承,防克隆操作】
May 22 PHP
PHP生成随机字符串(3种方法)
Sep 25 #PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 #PHP
十个PHP高级应用技巧果断收藏
Sep 25 #PHP
PHP中的Session对象如何使用
Sep 25 #PHP
如何解决PHP无法实现多线程的问题
Sep 25 #PHP
PHP网站建设的流程与步骤分享
Sep 25 #PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 #PHP
You might like
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
老生常谈Python序列化和反序列化
2017/06/28 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
医学生实习自荐信
2013/10/01 职场文书
小学生暑假感言
2014/02/06 职场文书
成人继续教育实施方案
2014/03/01 职场文书
报效祖国演讲稿
2014/09/15 职场文书
个人催款函范文
2015/06/23 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL