class Memcached(Object):
def init(self):
- self._connection = None
-
- servers = self.get_servers()
-
- # Nothing to do, if no servers have been configured.
- if not servers:
- logging.warning("No memcache servers defined")
- return
-
- logging.info("Using memcache servers: %s" % ", ".join(servers))
- self._connection = memcache.Client(servers, debug=0)
-
- def get_servers(self):
- servers = self.settings.get("memcached_servers")
-
- if servers:
- return servers.split(" ")
+ self._connection = memcache.Client(["localhost"], debug=1)
def get(self, key, *args, **kwargs):
- if not self._connection:
- return
+ logging.debug("Retrieving %s from cache..." % key)
- key = str(key)
+ ret = self._connection.get(key, *args, **kwargs)
- return self._connection.get(key, *args, **kwargs)
+ if ret is None:
+ logging.debug("Found nothing for %s" % key)
+ else:
+ logging.debug("Found object of %s bytes for %s" % (len(ret), key))
- def set(self, key, *args, **kwargs):
- if not self._connection:
- return
+ return ret
- key = str(key)
+ def set(self, key, data, *args, **kwargs):
+ logging.debug("Putting %s bytes into cache for %s" % (len(data), key))
- return self._connection.set(key, *args, **kwargs)
+ return self._connection.set(key, data, *args, **kwargs)
def delete(self, key, *args, **kwargs):
- if not self._connection:
- return
-
- key = str(key)
-
return self._connection.delete(key, *args, **kwargs)