腾讯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 配置open_basedir 让各虚拟站点独立运行
Nov 12 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
PHP编程函数安全篇
Jan 08 PHP
php递归删除目录与文件的方法
Jan 30 PHP
PHP版微信公众平台红包API
Apr 02 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
Apr 23 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程序之die调试法 快速解决错误
2009/09/17 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
jQuery 一个图片切换的插件
2011/10/09 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
js作用域和作用域链及预解析
2019/04/11 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
Python 函数基础知识汇总
2018/03/09 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
Python面向对象封装操作案例详解
2019/12/31 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
jupyter 添加不同内核的操作
2021/02/06 Python
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
多媒体专业自我鉴定
2014/02/28 职场文书
个人投资计划书
2014/05/01 职场文书
党支部三会一课计划
2014/09/24 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
外科护士长工作总结
2015/08/12 职场文书
大学军训心得体会800字
2016/01/11 职场文书
七年级作文之冬景
2019/11/07 职场文书
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL