Skip to main content

Django cache backend supporting MemCachier service

Project description

# memcachier-django-ascii

This package provides a memcached cache backend for Django using
[pymemcache](https://github.com/pinterest/pymemcache). We generally
prefer [pylibmc](https://github.com/lericson/pylibmc) but it depends
on a [libmemcached](http://libmemcached.org) which can sometimes cause
issues. Pymemcache is a pure python client.

This package only works with the ASCII protocol and a single memcache
server.

*NOTE:* In general we recommend
[django-pylibmc](https://github.com/jbalogh/django-pylibmc/), but in
rare situations this package works better.

## MemCachier & Authentication

This backend only supports the memcached ASCII protocol, which
normally doesn't support authentication. MemCachier requires
authentication, and adds it in very simply by requiring all new
connections issue a set:

```
$ set <username> 0 0 <password length>\r\n
$ <password>\r\n
```

formatted as above to communicate credentials.

## Requirements

Requires Django 1.3+. It was written and tested on Python 2.7.

## Installation

Get it from pypi:

```
$ pip install memcachier-django-ascii
```

or github:

```
$ pip install -e git://github.com/memcachier/django-ascii.git
```

## Usage

Your cache backend should look something like this:

```
CACHES = {
'default': {
'BACKEND': 'memcache_fix.backend.PyMemcacheCache',
'OPTIONS': {
'no_delay': True,
'connect_timeout': 2,
'timeout': 2,
}
}
}
```

*NOTE*: The backend currently only supports connecting to one server.

## Configuration with Environment Variables

Optionally, the memcached connection can be configured with
environment variables (on platforms like Heroku). To do so, declare
the following variables:

```
MEMCACHE_SERVERS
MEMCACHE_USERNAME
MEMCACHE_PASSWORD
```

## Author

Forked from [django-pymemcache](https://github.com/jsocol/django-pymemcache).

## Get involved!

We are happy to receive bug reports, fixes, documentation enhancements,
and other improvements.

Please report bugs via the
[github issue tracker](http://github.com/memcachier/django-ascii/issues).

Master [git repository](http://github.com/memcachier/django-ascii):

* `git clone git://github.com/memcachier/django-ascii.git`

## Licensing

This library is licensed under the Apache Software License 2.0

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

memcachier-django-ascii-1.0.0.tar.gz (7.5 kB view details)

Uploaded Source

File details

Details for the file memcachier-django-ascii-1.0.0.tar.gz.

File metadata

File hashes

Hashes for memcachier-django-ascii-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cd067aaae6e2b339a367eea077cd653b35d084dfc066b31a7d63af04e5f47698
MD5 eb4bc1a589bd5c424b5b9ea1b1d4bba1
BLAKE2b-256 a6dbf240409a6fc1ea01985322fbcf7f29a77975546b648e729ab57ce89fa4bf

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