所以,我决定用 python3 编写我的下一个项目,为什么?由于 Ubuntu 计划在明年内逐步放弃对 Python2 的所有支持,仅支持 Python3。(从 Ubuntu 13.04 开始)
gevent 和 memcached 模块没有正式移植到 Python3。
对于 gevent 和 pylibmc 或 python-memcached,已经正式移植到 Python3 的替代方案有哪些?
所以,我决定用 python3 编写我的下一个项目,为什么?由于 Ubuntu 计划在明年内逐步放弃对 Python2 的所有支持,仅支持 Python3。(从 Ubuntu 13.04 开始)
gevent 和 memcached 模块没有正式移植到 Python3。
对于 gevent 和 pylibmc 或 python-memcached,已经正式移植到 Python3 的替代方案有哪些?
Circuits现在支持 Python 3,试试吧,它很棒。
for memcached you probably know alternative: redis+python3
I am stuck in the same point.
Its core is greenlet 0.4.0
, which is available in python 3, but not the full libraries (gevent
, evenlet
or concurrence
).
There are some attempts to migrate it, but with no luck.
You can check packages availability in this website: http://py3ksupport.appspot.com/pypi/greenlet
If I find any alternative I would let you know.
pymemcache:一个全面的、快速的、纯 Python 的 memcached 客户端。
与其他客户的比较
pylibmc
pylibmc 库是 libmemcached 的包装器,用 C 实现。它速度快,实现了一致的散列、完整的 memcached 协议和超时。它不提供对“noreply”标志的访问。它也不是纯 Python,因此将它与 gevent 之类的库一起使用是不可能的,并且它对 libmemcached 的依赖带来了挑战(例如,它必须针对它将在运行时使用的相同版本的 libmemcached 构建)。
Python 内存缓存
python-memcache 库实现了整个 memcached 文本协议,所有套接字调用都有一个超时,并且具有灵活的序列化和反序列化方法。它也是完全用 Python 编写的,因此可以很好地与 gevent 等库配合使用。但是,它与使用线程局部变量有关,没有实现“noreply”,不能将错误视为缓存未命中,并且比 pylibmc 和 pymemcache 都慢。它还与处理 memcached 服务器集群的特定方法相关联。