腾讯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使用数组实现队列
Feb 05 PHP
关于php循环跳出的问题
Jul 01 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
thinkphp普通查询与表达式查询实例分析
Nov 24 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
Symfony生成二维码的方法
Feb 04 PHP
PHP浮点数的一个常见问题
Mar 10 PHP
php反射类ReflectionClass用法分析
May 12 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
Nov 22 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 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
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
JS闭包原理与应用经典示例
2018/12/20 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
vue实现购物车的小练习
2020/12/21 Vue.js
Vue多选列表组件深入详解
2021/03/02 Vue.js
python做量化投资系列之比特币初始配置
2018/01/23 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
Python+Selenium使用Page Object实现页面自动化测试
2019/07/14 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
制冷与电控专业应届生求职信
2013/11/11 职场文书
厨师岗位职责
2013/11/12 职场文书
建筑项目策划书
2014/01/13 职场文书
初一科学教学反思
2014/01/27 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
面试自我评价范文
2014/09/17 职场文书
电视新闻稿
2015/07/17 职场文书