Version 2 (modified by otherjacob, 13 years ago) ( diff )

--

Pre-2010

Tickets #12427 and #11675 are opened with different by related goals: get rid of cmemcache (which had gone the way of the broken-as-heck dodo) and add support for a new libmemcached wrapper pylibmc (respectively).

Feb 2010

Email thread seen here begins: http://groups.google.com/group/django-developers/browse_thread/thread/4eb685ca5b305f18/

March 2010

Ticket is put in for 1.2 to put use of cmemcache as FuturePendingDeprecation, while adding support for pylibmc was greenlit for 1.3

October 2010

Discussion re-started with three key points to debate:

Another post of note with regards to multithreading [ala, celery] here: http://www.dctrwatson.com/2010/09/python-thread-safe-does-not-mean-fork-safe/#more-48

November 2010

11/29: Draft one suggested to the django-dev lift Draft #1: https://gist.github.com/91de59e53f7f36f461ec

Caveats/Notes on the draft: A) This is only the memcache.py file, changes to conf/global_settings and core/cache/base will be needed to handle the move towards CACHE_SETTINGS

B) pylibmc and memcached handle negative timeouts differently. The expected behavior as laid out in template tests is how python-memcached handles it (instant expiration). I had to do a fairly sad looking hack to make pylibmc work, and is noted in a comment.

C) The current version of pylibmc doesn't play nice with python sub-interuptors, and thus, mod_wsgi. There is a commit (https://github.com/lericson/pylibmc/commit/ddd2f011f73d8ccc6347c5471eff378bef58dbd5) in trunk that fixes this, but a release has not been given out. We may want to be extra-communicative of this and the possible workarounds.

Note: See TracWiki for help on using the wiki.
Back to Top