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
=====================
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
Close
Hashes for django-memcached-pool-0.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 664a90c46019b1a37b0f6fb0e1123ab90f35da20c08243d726cc36ef1e87ae3b |
|
MD5 | 80cb7d62e552acab45288afc7899f381 |
|
BLAKE2b-256 | 155960bffef61b1fa907ec5cb75e23776a5a72847e011b82f573a161f529cc67 |