腾讯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 xfocus防注入资料
Apr 27 PHP
[原创]效率较高的php下读取文本文件的代码
Jul 02 PHP
PHP 强制下载文件代码
Oct 24 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
分享一段php获取linux服务器状态的代码
May 27 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 PHP
使用laravel指定日志文件记录任意日志
Oct 17 PHP
tp5.1框架数据库子查询操作实例分析
May 26 PHP
PHP如何通过带尾指针的链表实现'队列'
Oct 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
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
php旋转图片90度的方法
2013/11/07 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
详解PHP中的PDO类
2015/07/06 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
js的对象与函数详解
2019/01/21 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
Python存取XML的常见方法实例分析
2017/03/21 Python
对python Tkinter Text的用法详解
2018/10/11 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
生产部管理制度
2014/01/31 职场文书
社团活动总结范文
2014/04/26 职场文书
建筑安全生产责任书
2014/07/22 职场文书
设置IIS Express并发数
2022/07/07 Servers