Skip to main content

A Memcached Pool for Django

Project description

django-memcached-pool
=====================

An efficient fast Django Memcached backend with a pool of connectors, based on
ultramemcache.

See https://github.com/esnme/ultramemcache

Each connection added in the pool stays connected to Memcache or Membase,
drastically limiting the number of reconnections and open sockets your
application will use on high load.

If you configure more than one Memcache server, each new connection
will randomly pick one.

Everytime a socket timeout occurs on a server, it's blacklisted so
new connections avoid picking it for a while.

To use this backend, make sure the package is installed in your environment
then use `memcachepool.cache.UMemcacheCache` as backend in your settings.

**Also, make sure you use umemcache >= 1.5**

Here's an example::


CACHES = {
'default': {
'BACKEND': 'memcachepool.cache.UMemcacheCache',
'LOCATION': '127.0.0.1:11211',
'OPTIONS': {
'MAX_POOL_SIZE': 100,
'BLACKLIST_TIME': 20,
'SOCKET_TIMEOUT': 5,
'MAX_ITEM_SIZE': 1000*100,
}
}
}


Options:

- **MAX_POOL_SIZE:** -- The maximum number of connectors in the pool. default: 35.
- **BLACKLIST_TIME** -- The time in seconds a server stays in the blacklist. default: 60
- **SOCKET_TIMEOUT** -- the time in seconds for the socket timeout. default: 4
- **MAX_ITEM_SIZE** -- The maximum size for an item in Memcache.



2013-12-13 - 0.4
################

- Use pickle.HIGHEST_PROTOCOL #8
-
.....

2012-10-05 - 0.3.1
##################

- fixed cache.clear
- make sure timeout=0 is treated as infinite


2012-10-05 - 0.3
################

- now based on umemcache 0.5
- added support for MAX_ITEM_SIZE

2012-09-07 - 0.2
################

- Added the licence info

2012-08-28 - 0.1
################

- Initial release

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-memcached-pool-0.5.tar.gz (6.8 kB view details)

Uploaded Source

File details

Details for the file django-memcached-pool-0.5.tar.gz.

File metadata

File hashes

Hashes for django-memcached-pool-0.5.tar.gz
Algorithm Hash digest
SHA256 664a90c46019b1a37b0f6fb0e1123ab90f35da20c08243d726cc36ef1e87ae3b
MD5 80cb7d62e552acab45288afc7899f381
BLAKE2b-256 155960bffef61b1fa907ec5cb75e23776a5a72847e011b82f573a161f529cc67

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