Skip to content
This repository has been archived by the owner on Apr 24, 2018. It is now read-only.

heroku-python/django-pylibmc-sasl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pylibmc-sasl cache backend for Django

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

This is a fork of the django-pylibmc package. These changes will eventually end up upstream.

Requirements

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

Installation

Get it from pypi:

pip install django-pylibmc-sasl

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.

About

A cache backend for Django using pylibmc

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%