精华帖 (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文件放到里面了。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-07-03
推荐使用pylibmc
cmemcache不是很稳定 |
|
返回顶楼 | |
浏览 2483 次