Skip to main content

Django cache backend using pylibmc

Project description

This package provides a memcached cache backend for Django using pylibmc. You want to use pylibmc because it’s fast.

Requirements

django-pylibmc requires Django 1.3+. It was written and tested on Python 2.7.

Installation

Get it from pypi:

pip install django-pylibmc

or github:

pip install -e git://github.com/jbalogh/django-pylibmc.git#egg=django-pylibmc

Usage

Your cache backend should look something like this:

CACHES = {
    'default': {
        'BACKEND': 'django_pylibmc.memcached.PyLibMCCache',
        'LOCATION': 'localhost:11211',
        'TIMEOUT': 500,
        'BINARY': True,
        'OPTIONS': {  # Maps to pylibmc "behaviors"
            'tcp_nodelay': True,
            'ketama': True
        }
    }
}

If you want to use the memcached binary protocol, set the BINARY key’s value to True as shown above. BINARY is False by default.

If you want to control pylibmc behaviors, use the OPTIONS. OPTIONS is an empty dict by default.

Pylibmc supports compression and the minimum size (in bytes) of values to compress can be set via the Django setting PYLIBMC_MIN_COMPRESS_LEN. The default is 0, which is disabled.

Caveats

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.

Testing

Run the tests like this:

python tests/test.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-pylibmc-0.2.3.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file django-pylibmc-0.2.3.tar.gz.

File metadata

File hashes

Hashes for django-pylibmc-0.2.3.tar.gz
Algorithm Hash digest
SHA256 1586a6979ddf3d2a5d2f4d0edc5c91b32f31efb8f724a13aea65dcd12764ad82
MD5 be33c4d594313d333369ccaad69ea6d1
BLAKE2b-256 8d2bcf7e2485ad323b08d2108da9bdff785ee771b7339b63b48a9687970d5b0d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page