Esempio 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)
Esempio n. 2
0
 def multiremove(self, keys):
     db = get_conn()
     db.execute("DELETE FROM cache WHERE `key` IN %s", keys)
Esempio n. 3
0
 def remove(self, key):
     db = get_conn()
     db.execute("DELETE FROM cache WHERE `key`=%s", key)
Esempio 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))