Bringing this back for more design decision discussion. I've started a
(very basic) wiki page with a brief summation of the situation here:
http://code.djangoproject.com/wiki/PylibmcSupport

Of note from that wiki page are three main issues I raised with
various django developers while at Django Con that would need to be
addressed before adequate pylibmc support was added into Django:

* Pylibmc 1.1 doesn't play that nice with mod_wsgi due to it's use of
the Simplified GIL API (see: 
http://www.dctrwatson.com/2010/09/beware-of-using-pylibmc-1-1-and-mod_wsgi/).
Probably just need to make note of it in the documentation, but it's
worth noting.

* The suggested use of using query-string for client-specific options
and libmemcached 'behaviors' eventually leading to massive client
strings, and the use of a CACHE_SETTINGS dictionary may be a better
solution.

* Because it isn't bound by the GIL, pylibmc by default isn't thread
safe. There are a few different solutions, the most apparent being to
use pylibmc's ThreadMappedPool. More info here:
http://lericson.blogg.se/code/2009/september/draft-sept-20-2009.html
and http://blog.sendapatch.se/2009/september/pooling-with-pylibmc-pt-2.html
.

Originally Myself and Noah Silas were working on a solution that would
have two separate backends, one using of the ThreadMappedPool and one
using the basic client. At this point, I think it's probably not even
worth using one that uses the basic client, and having us keep one
memached backend that can use multiple libraries (defaulting to python-
memcached, and having initially pylibmc support as well.)
ing.

Best,
Jacob


Note: I tried posting this in a reply to the old thread, but my net
seems to have not let it gone through. Apologies if this gets posted
twice.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to