腾讯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 相关文章推荐
一个改进的UBB类
Oct 09 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
PHP中的替代语法介绍
Jan 09 PHP
php实现通用的信用卡验证类
Mar 24 PHP
php数据访问之查询关键字
May 09 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
php并发加锁示例
Oct 17 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 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&amp;&amp;mysql)六
2006/10/09 PHP
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
潜说js对象和数组
2011/05/25 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
原生js实现随机点名
2020/07/05 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python 远程统计文件代码分享
2015/05/14 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
设置python3为默认python的方法
2018/10/31 Python
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
单位活动策划方案
2014/08/17 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
springmvc直接不经过controller访问WEB-INF中的页面问题
2022/02/24 Java/Android