Python3: поиск альтернатив gevent и pylibmc/python-memcached

Итак, я решил написать свой следующий проект с python3, почему? Из-за плана Ubuntu постепенно отказаться от поддержки всех Python2 в течение следующего года и поддерживать только Python3. (Начиная с Ubuntu 13.04)

gevent и модули memcached официально не переносятся на Python3.

Каковы некоторые альтернативы, уже официально перенесенные на Python3, для gevent и pylibmc или python-memcached?

Ответ 1

Circuits теперь поддерживает Python 3, попробуйте, это здорово.

Ответ 2

для memcached вы, вероятно, знаете альтернативу: redis + python3

Ответ 3

Я застрял в той же точке.

Его ядро ​​ greenlet 0.4.0, которое доступно в python 3, но не полные библиотеки (gevent, evenlet или concurrence).

Есть некоторые попытки перенести его, но без везения.

Вы можете проверить наличие пакетов на этом веб-сайте: http://py3ksupport.appspot.com/pypi/greenlet

Если я найду какую-либо альтернативу, я дам вам знать.

Ответ 4

pymemcache: всеобъемлющий, быстрый, чистый-Python memcached-клиент.

Сравнение с другими клиентами

pylibmc

Библиотека pylibmc - это оболочка libmemcached, реализованная в C. Это быстро, реализует последовательное хеширование, полный memcached протокол и таймауты. Он не обеспечивает доступ к "noreply" флаг. Это также не чистый Python, поэтому использование его в таких библиотеках, как gevent не может быть и речи, и его зависимость от libmemcached создает проблемы (например, он должен быть построен против той же версии libmemcached, который будет использоваться во время выполнения).

Python-Memcache

Библиотека python-memcache реализует весь memcached-текст протокол, имеет один тайм-аут для всех вызовов сокетов и имеет гибкий подход к сериализации и десериализации. Также написано полностью в Python, поэтому он хорошо работает с библиотеками, такими как gevent. Однако он привязан к использованию локалей потоков, не реализует "noreply", не может обрабатывать ошибки в качестве промахов в кеше и медленнее, чем оба pylibmc и pymemcache. Он также привязан к определенному методу для Обработка кластеров серверов memcached.