论坛首页 编程语言技术论坛

ubuntu9.04编译安装libmemcache1.4.0.rc

浏览 2460 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-15   最后修改:2009-06-15

在python下面使用memcached确实为难了我一阵子。

 

原以为有过java下面使用memcached的经验,会很快。不过,我确实想错了。

 

我来说说吧。

 

1)安装memcached,这个没有什么好说的。直接下载,然后./configrue && make, 再make install 就好了。

 

这里主要要说的是memcache的客户端安装。目前,python世界中使用的比价多的是,python-memcached和cmemcache

 

2.1) 使用python-memcached,这个由于使用纯的Python编写。所以,下载后直接python setup.py install就可以了。


        这个也不是重点。重点是下面这个。

 

2.2) 使用cmemcache, 为什么用它,原因是他使用了c来封装,然后由py来调用。据网上的评测文章,cmemcache的速度是python-memcached的2倍之多。所以,我打算用它。这个库依赖于libmemcache。就是这个东西难到了我。

 

下面具体说说:

a) 下载libmemcache和cmemcache,直接安装,发现没有任何问题。但是,一旦在python中调用:

 

import cmemcache

 

 就会出现如下错误:

 

undefined symbol: mcm_buf_len

 

 查了很多文章,原来需要为libmemecache1.4打patch

 

后来,找到一个 patch 后,放到libmemcache目录下执行:

 

patch -p1 < libmemcache.patch

 

patch后,在执行 ./configure && make,这时候,会发现libmemcache无法make。原来是automake的问题。于是,又安装automake1.9。

 

接着make。又出来了问题。

 

libtool: compile: cannot determine name of library object from `': not found
 

于是又执行:

 

autoreconf -fiv

 

然后再make,终于通过了。然后在make install安装好。

 

这个东西把我郁闷坏了。

 

后来问同事。才发现,现在已经有一个libmemcache2了。可是,我在网上没有找到。用aptitude search也没有找到。可是,同事那确实能找到。估计是apt-source的问题了。这个就不再追究了。

 

接下来,我得看看,这两者的效率比较。网上的自我感觉还是不靠普。c的和python的代码只有2倍的差距?

 

测试完了后,我会把测试数据发上来。

 

---------------

附件是libmemcache的源码,已经把patch文件放到里面了。

 

 

 

   发表时间:2009-07-03  
推荐使用pylibmc

cmemcache不是很稳定
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics