1、豆瓣官方推荐协议
协议: memcached。推荐 libmc 客户端(c++ 实现,目前支持 go 和 python,基于 poll 的并发 get_multi/set_multi)
安装:pip install libmc,(豆瓣 GitHub 链接:https://github.com/douban/libmc)
话外音:libmc 由 Douban 开发和维护。
Python Example(Python2.x、Python3.x 均支持):
|
libmc 官方介绍:https://pypi.org/project/libmc/
2、pylibmc(Quick and small memcached client for Python)
支持系统:Linux-64、OSX-64
安装:conda install (执行以下操作之一)
- conda install -c conda-forge pylibmc
- conda install -c conda-forge/label/gcc7 pylibmc
- conda install -c conda-forge/label/cf201901 pylibmc
Python Example(Python2.x、Python3.x 均支持):
|
pylibmc 官方介绍:https://pypi.org/project/pylibmc/0.5.1/
3、libmc 与 pylibmc 区别(在 GoBeansDB 的基础上)
type | libmc | pylibmc |
---|---|---|
set | <class 'str'> | <class 'str'> |
get | <class 'str'> | <class 'str'> |
注意: 1、libmc 无法 get 获取 pylibmc 写入的数据; 2、pylibmc 可以 get 获取 libmc 写入的数据,但是是 bytes 类型,需要 mc.get('show').decode('utf-8')转换为 str; | libmc | pylibmc | |
---|---|---|---|
type(mc.get('show')) | |||
libmc | mc.set('show', 'wufei') | <class 'str'> | <class 'bytes'> |
pylibmc | None:<class 'NoneType'> | <class 'str'> |
注意:pylibmc 不支持 GoBeansproxy | GoBeansDB | GoBeansproxy |
---|---|---|
libmc | OK! | OK! |
pylibmc | OK! | NOT OK! |