安装 pylibmc(Memcached的python客户端)

转载自:http://blog.chinaunix.net/uid-20548989-id-1667373.html

                http://www.cppblog.com/kefeng/archive/2010/10/11/129422.html

                http://ihacklog.com/post/memcached-compilation.html

                http://sendapatch.se/projects/pylibmc/index.html

 

0.目标
安装 pylibmc http://pypi.python.org/packages/source/p/pylibmc/pylibmc-1.1.1.tar.gz


1.环境
Ubuntu Server 10.04 已经安装了 gcc, python2.6.5和dev包
Bash代码
  1. sudo apt-get install gcc make binutils
  2. sudo apt-get install python python-all-dev


2.依赖
libevent http://monkey.org/~provos/libevent-1.4.13-stable.tar.gz
[?] zlib http://zlib.net/zlib-1.2.5.tar.gz
memcached http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
libmemcached http://launchpad.net/libmemcached/1.0/0.40/+download/libmemcached-0.40.tar.gz

3.安装
Bash代码
  1. tar xzf libevent-1.4.13.tar.gz
  2. cd libevent-1.4.13
  3. ./configure --prefix=/opt/lib/libevent-1.4.13
  4. make && sudo make install
  5. cd ..
  6. tar xzf zlib-1.2.5.tar.gz
  7. cd zlib-1.2.5
  8. ./configure --prefix=/opt/lib/zlib-1.2.5
  9. make && sudo make install
  10. cd ..
  11. tar xzf memcached-1.4.5.tar.gz
  12. cd memcached-1.4.5
  13. ./configure --prefix=/opt/memcached-1.4.5 \
  14. --with-libevent=/opt/lib/libevent-1.4.13
  15. make && sudo make install
  16. cd ..
  17. tar xzf libmemcached-0.40.tar.gz
  18. cd libmemcached-0.40
  19. ./configure --prefix=/opt/lib/libmemcached-0.40 \
  20. --with-memcached
  21. make && sudo make install
  22. ln -s /opt/lib/libmemcached-0.40/lib/libmemcached.so.5 /usr/lib/libmemcached.so.5
  23. cd ..
  24. tar xzf pylibmc-1.1.1.tar.gz
  25. cd pylibmc-1.1.1
  26. sudo python setup.py build --with-libmemcached=/opt/lib/libmemcached-0.40
  27. sudo python setup.py install
  28. cd ..


4.冲突
a) 不安装 python2.6-dev (包含在python-all-dev中)在pylibmc的编译阶段会报错:缺少'Python.h'文件
b) 不建立软链接 libmemcached.so.5 到 /usr/lib会提示 找不到libmemcached.so
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Memcached 客户中,通常有两个超时相关的设置:连接超时和操作超时。 1. 连接超时:指当客户尝试连接 Memcached 服务器时,如果在规定的时间内无法建立连接,则会超时。可以通过设置客户的连接超时时间来调整这个设置。具体方法取决于你使用的客户库,例如在 PHP 中,可以使用 `Memcached::setOption()` 方法设置 `OPT_CONNECT_TIMEOUT` 选项来调整连接超时时间。 2. 操作超时:指当客户发送一个请求给 Memcached 服务器时,如果在规定的时间内没有收到响应,则会超时。可以通过设置客户的操作超时时间来调整这个设置。同样,具体方法取决于你使用的客户库,例如在 Python 中,可以使用 `memcache.Client()` 的 `socket_timeout` 参数设置操作超时时间。 需要注意的是,超时时间设置过短可能会导致误判或性能问题,设置过长则可能会增加系统响应时间。因此,需要根据具体的场景和系统负载情况来进行调整。 ### 回答2: 要调整 Memcached 客户的超时设置,可以按照以下步骤进行操作: 1. 确定需要调整超时设置的客户程序和操作系统。 2. 获取客户程序的配置文件或代码文件。 3. 打开配置文件或代码文件,查找超时相关的配置项或代码片段。 4. 根据需要,调整超时时间的数值。可以增加或减少超时时间,以适应不同的网络环境和业务需求。 5. 保存配置文件或代码文件,并重新启动或重新编译客户程序,使新的超时设置生效。 需要注意的是,不同的客户程序可能有不同的超时设置方式,以下是一些常见的调整超时设置的方法: - 如果使用的是一些开源的 Memcached 客户库,可以查阅它们的文档,寻找相关的超时设置选项,并按照文档的指导进行调整。 - 如果使用的是自己编写的客户程序,可以在代码中找到与超时设置相关的部分,根据需要进行调整。例如,可以修改连接超时、读取超时和写入超时等参数。 - 如果使用的是配套的命令行工具(如memcached-tool),可以在命令行中指定超时参数。例如,使用"-t"参数指定超时时间为X秒。 总之,根据具体的情况,通过修改配置文件、调整代码或加入参数等方式,可以方便地调整 Memcached 客户的超时设置,以满足实际需求。 ### 回答3: 要调整 Memcached 客户的超时设置,可以通过以下步骤进行操作: 1. 首先,确定你所使用的 Memcached 客户库。不同的编程语言可能有不同的 Memcached 客户库,如 php-memcachedpython-memcached 等。 2. 查阅所使用的 Memcached 客户库的文档或官方网站,了解相关的超时设置参数和默认值。通常,超时设置参数的名称可能会有所不同,例如 timeout、connect_timeout、socket_timeout 等。 3. 根据文档或官方网站的指引,找到设置超时的方法或函数。这些方法或函数通常会在创建 Memcached 客户对象或连接到 Memcached 服务器时被调用。调用方法可能会接受一个超时值作为参数,单位可以是秒或毫秒。 4. 根据自己的需求,设置一个适当的超时值。超时值应该与你的应用逻辑和网络环境相匹配。通常情况下,可以将超时值设置为几秒钟或几毫秒,以确保在超时期限内获得响应。 5. 在代码中修改相应的设置,并重新编译或重启应用程序,以使设置生效。 6. 测试代码的修改是否生效。可以使用一些测试脚本或工具来模拟访问 Memcached 服务器并检查超时设置是否符合预期。 请注意,不同的 Memcached 客户库和版本可能会有不同的超时设置方式和参数名称。因此,在进行设置时,应仔细阅读和理解所使用的客户库的文档,并根据实际情况进行相应的调整和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值