Exemplo n.º 1
0
 def set(self, key, val, timeout=24*60*60):
     delta = datetime.timedelta(seconds=timeout)
     db = get_conn()
     self.remove(key)
     expiration = datetime.datetime.now()+delta
     try:
         db.execute("INSERT INTO cache (`key`, `value`, `dt`) VALUES (%s, %s, %s)",
                    key, pickle.dumps(val), expiration)
     except OperationalError, e:
         logging.error("Got error setting %r=%r in cache: %r",
                       key, val, e)
Exemplo n.º 2
0
 def multiremove(self, keys):
     db = get_conn()
     db.execute("DELETE FROM cache WHERE `key` IN %s", keys)
Exemplo n.º 3
0
 def remove(self, key):
     db = get_conn()
     db.execute("DELETE FROM cache WHERE `key`=%s", key)
Exemplo n.º 4
0
 def get(self, key, default=None):
     db = get_conn()
     r = db.get("SELECT * FROM cache WHERE `key`=%s", key)
     if not r or not r.dt or r.dt < datetime.datetime.now():
         return None
     return pickle.loads(str(r.value))