2013-03-25 31 views
10

Vì vậy, tôi đã quyết định viết dự án tiếp theo của tôi với python3, tại sao? Do kế hoạch cho Ubuntu dần dần loại bỏ tất cả các hỗ trợ Python2 trong năm tới và chỉ hỗ trợ Python3. (Bắt đầu với Ubuntu 13.04)Python3: Tìm kiếm các lựa chọn thay thế cho gevent và pylibmc/python-memcached

gevent và các mô-đun ghi nhớ không chính thức được chuyển sang Python3.

Một số giải pháp thay thế, đã chính thức được chuyển sang Python3, cho gevent và pylibmc hoặc python-memcached là gì?

Trả lời

0

Tôi bị kẹt trong cùng một điểm.

Lõi của nó là greenlet 0.4.0, có sẵn trong python 3, nhưng không có trong thư viện đầy đủ (gevent, evenlet hoặc concurrence).

Có một số nỗ lực để di chuyển, nhưng không có may mắn.

Bạn có thể kiểm tra các gói sẵn có trong trang web này: http://py3ksupport.appspot.com/pypi/greenlet

Nếu tôi tìm thấy bất kỳ thay thế tôi sẽ cho bạn biết.

+0

py3ksupport không còn tồn tại: ( – Druska

4

Circuits hiện đã hỗ trợ cho Python 3, hãy thử nó thật tuyệt.

+0

+1 Tôi đã xem xét điều này. Không sâu sắc. Tôi sẽ thử quay số này và báo cáo kết quả :) – Nadav

1

cho memcached bạn có thể biết thay thế: redis + python3

+0

Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. –

+0

nó là một phần, nhưng trả lời 1/2 câu hỏi về memcached –

+0

Cảm ơn, lựa chọn thay thế là quan trọng để được chỉ ra. Tuy nhiên, trong trường hợp của tôi, tôi không thể sử dụng redis. – Nadav

0

pymemcache: Một toàn diện, nhanh chóng, thuần Python client memcached.

So sánh với các khách hàng khác

pylibmc

Thư viện pylibmc là một wrapper quanh libmemcached, thực hiện trong C. Đó là nhanh chóng, thực hiện hàm băm ổn định, đầy đủ memcached giao thức và timeout. Nó không cung cấp quyền truy cập vào cờ "noreply" . Nó cũng không phải là Python thuần túy, do đó, sử dụng nó với các thư viện như gevent không nằm trong câu hỏi, và sự phụ thuộc vào libmemcached đặt ra các thách thức (ví dụ, nó phải được xây dựng dựa trên cùng một phiên bản libmemcached mà nó sẽ sử dụng trong thời gian chạy).

Python-memcache

Thư viện python-memcache thực hiện toàn bộ giao thức văn bản memcached , có một thời gian chờ duy nhất cho tất cả các cuộc gọi ổ cắm và có một cách tiếp cận linh hoạt để serialization và deserialization. Nó cũng được viết hoàn toàn bằng Python, vì vậy nó hoạt động tốt với các thư viện như gevent. Tuy nhiên, nó được gắn với việc sử dụng địa chỉ chuỗi, không triển khai "noreply", không thể xử lý lỗi khi bộ nhớ cache bị bỏ qua và chậm hơn cả số pylibmc và pymemcache. Nó cũng được gắn với một phương pháp cụ thể cho xử lý các cụm máy chủ ghi nhớ.

Các vấn đề liên quan