基于libmemcached开发php的扩展模块

PHP有个pecl memcached扩展,这是大家默认的选择,对绝大多数应用来说,其实已经够用了,出于学习研究的目的,在朋友小叶的要求下,尝试了利用libmemcached模块来开发一个PHP的扩展。

对于memcached,不在这里多说了,更多的文档可以参照我另外的blog文章或者去memcached官方,在官方文档中,我们可以找到各种语言的APIs,包括已有的pecl memcached API,另外还有Ruby、Perl、C#等API,这次需要用的是C的API,据小叶说,有另外的测试证明基于C API中libmemcached写的Ruby扩展性能比基于libevant写的PHP Pecl Memcached效率高出20倍,这个真实性不去考证了,只准备测试一下用libmemcached来写另外一个PHP的扩展。

这里准备按照最常规的流程来完成这个PHP扩展的开发。目前完整的模块还未写完,只完成了一个测试接口和connect()接口,请有兴趣的朋友随时关注我的更新。

Tags: , , ,


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

8 Responses to “基于libmemcached开发php的扩展模块”

  1. Pecl Memcached Extension基于libevant?
    Memcached 基于libevant,Pecl Memcached Extension是自己实现了Memcached的协议解析吧,而没有使用libmemcached,这和libevant似乎没有太大关系,3.0+的Pecl Memcached Extension 加入了新的MemcachePool实现,代码写得挺不错的,不过两者的效率倒还没测试过,期待你的新扩展出现…:)

  2. 刚才简单看了一下pecl memcached扩展的代码(http://cvs.php.net/viewvc.cgi/pecl/memcache/memcache.c?content-type=text%2Fplain&view=co),的确如楼上朋友所说,倒是了解到memcached是用到libevent的,具体的从这里可以看到:http://cvs.php.net/viewvc.cgi/pecl/memcache/README?revision=1.3.2.1&view=markup

  3. libmemcached 刚推出来。 ruby 就用它开发了 ruby 的memcache的最新扩展,测试了说性能很好。呵呵我也是看介绍这样说的。Michael 大哥人很好。在这里也要谢谢Michael 对我的帮助。也期待你的libmemcache 新扩展。今天我要搬家。顺便来看看。我顶

  4. 为什么类似的文章老是没有下文呢 。。汗。。。

  5. flashjay on April 17, 2008 at 1:34 am said:

    为什么类似的文章老是没有下文呢 。。汗。。。

    抱歉,没有来得及更新,asd 朋友告知有了一个已经开发好的,放我一下子丧失了太多热情,又因为最近实在事情太多,把热情和紧急度更高的事情先安排了,空了一定会补齐的。

  6. 呵呵。我是asd 。老大忙。肯定没那么快更新拉。你以为老大专业出教程的呀? 老大不用急。哈哈

  7. 逆雪寒 on April 17, 2008 at 9:45 am said:

    呵呵。我是asd 。老大忙。肯定没那么快更新拉。你以为老大专业出教程的呀? 老大不用急。哈哈

    本来是帮asd顺手给弄出来的,结果没想后来因工作耽误了,ads兄弟确跑到我前面去了,对不住大家了,朋友们可以去asd的站上看他刚写出来的完整的扩展代码,地址在这里: http://www.laoniphp.com/

  8. Michael大哥,请教个问题:

    在编写扩展的时候

    PHP_FUNCTION(test)
    {

    zval *var;
    char *st=”";
    int st_len=0;

    zend_bool i = 0;
    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, “z|sb”, &var,&st, &st_len,&i) == FAILURE)
    {
    RETURN_FALSE;
    }

    //我想让程序退出,就好像调用php的 exit()或die()函数; 请问这里该怎么实现呢?
    }

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word