This package provides a memcached cache backend for Django using pylibmc. You want to use pylibmc because it's fast.
django-pylibmc requires Django 1.2. It was written and tested on Python 2.6.
Get it from pypi:
pip install django-pylibmc
or github:
pip install -e git://github.com/jbalogh/django-pylibmc.git#egg=django-pylibmc
Your cache backend should look something like this:
CACHE_BACKEND = 'django_pylibmc.memcached://localhost:11211?timeout=500'
If you want to use the memcached binary protocol, pass binary=1
in your
CACHE_BACKEND
:
CACHE_BACKEND = 'django_pylibmc.memcached://localhost:11211?timeout=500&binary=1'
If you want to control pylibmc behaviors, use the setting
called PYLIBMC_BEHAVIORS
:
PYLIBMC_BEHAVIORS = {'tcp_nodelay': True, 'ketama': True}
PYLIBMC_BEHAVIORS
is an empty dict by default.
This package breaks away from the current handling of timeout=0
in Django.
Django converts 0 into the default timeout, while django-pylibmc leaves it as
0. memcached takes 0 to mean "infinite timeout." You can still pass None
to get the default timeout.