diff options
Diffstat (limited to 'google_appengine/lib/django/django/core/cache/backends/memcached.py')
-rwxr-xr-x | google_appengine/lib/django/django/core/cache/backends/memcached.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/google_appengine/lib/django/django/core/cache/backends/memcached.py b/google_appengine/lib/django/django/core/cache/backends/memcached.py new file mode 100755 index 0000000..180f95d --- /dev/null +++ b/google_appengine/lib/django/django/core/cache/backends/memcached.py @@ -0,0 +1,29 @@ +"Memcached cache backend" + +from django.core.cache.backends.base import BaseCache, InvalidCacheBackendError + +try: + import memcache +except ImportError: + raise InvalidCacheBackendError, "Memcached cache backend requires the 'memcache' library" + +class CacheClass(BaseCache): + def __init__(self, server, params): + BaseCache.__init__(self, params) + self._cache = memcache.Client(server.split(';')) + + def get(self, key, default=None): + val = self._cache.get(key) + if val is None: + return default + else: + return val + + def set(self, key, value, timeout=0): + self._cache.set(key, value, timeout or self.default_timeout) + + def delete(self, key): + self._cache.delete(key) + + def get_many(self, keys): + return self._cache.get_multi(keys) |