• 技术文章 >后端开发 >php教程

    PHP扩展之腾讯CMEM的编译

    *文*文2017-12-27 15:05:47原创824
    本文主要介绍了腾讯CMEM的PHP扩展编译安装方法,较为详细的分析了CMEM的功能、作用及安装使用技巧。希望对大家有所帮助。

    具体如下:

    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

    相关推荐:

    macOS 中使用 phpize 动态添加 PHP 扩展的错误解决方法

    Linux 下 PHP 扩展 cURL 编译安装

    Linux 下 PHP 扩展 redis 编译安装

    以上就是PHP扩展之腾讯CMEM的编译的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:CMEM php 编译
    上一篇:PHP概率计算函数 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 深入了解PHP:用gdb调试源码• 实例介绍:使用Docker快速搭建多版本PHP开发环境• 实例详解PHP统计代码行数及文件数量的方法• PHP常用开发工具分析_PHP教程• ZEND将与IBM合作开发PHP IDE/Framework_PHP教程
    1/1

    PHP中文网