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

分类:PHP_Python| 发布:佚名| 查看:327 | 发表时间:2016/3/1

CMEM是什么?

CMEM全称为Cloud Memory,是腾讯提供的高性能内存级持久化存储服务,适用于数据量小、访问量高、key-value存储的场景。

CMEM基于一个存储键/值对的hashmap,数据使用内存存储,并保证数据的持久性。

CMEM PHP Extension是什么?

CMEM基于标准的Memcached协议以及接口,只是将数据获取接口增加返回值设定。
Memcached的Get协议没有设计返回码,所以Memcached API返回NO_DATA时,有可能是网络原因造成的,不能完全信任。 使用如下流程将是非常危险的,将造成用户数据初始化:

1if(NO_DATA) {
2  InitData();
3}

为解决上述问题,CMEM提供了Memcahced文本扩展协议,增加两个扩展的命令get_ext, gets_ext,使客户端可以根据返回码判断数据是否存在。 这样可以避免网络和设备故障时get不到数据而导致用户数据被误初始化。

CMEM编译与安装

01# 下载CMEM
02cd /home/src
03wget http://cmem.googlecode.com/files/cmem-2.2.6.tar.gz
04# 解压
05tar zxvf cmem-2.2.6.tar.gz
06cd cmem-2.2.6
07# 编译
08/usr/local/webserver/php/bin/phpize
09./configure --with-php-config=/usr/local/webserver/php/bin/php-config
10make
11# 安装PHP扩展
12cp modules/cmem.so /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
13# 配置php.ini
14# 加入以下内容
15# --------------------------------------------------
16extension = "cmem.so"
17# --------------------------------------------------
18# 测试
19# 新建cmemtest.php
20cat > /tmp/cmemtest.php
21# 代码为
22# --------------------------------------------------
23<?php
24if(!class_exists('CMEM')) echo "CMEM NOT FOUND!\n";
25else echo "CMEM IS OK\n";
26?>
27# --------------------------------------------------
28# 执行测试文件
29/usr/local/webserver/php/bin/php -f /tmp/cmemtest.php
365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/php-python/2253.html

相关文章