]>
git.ipfire.org Git - people/jschlag/pbs.git/blob - backend/cache.py
8 class Client(memcache
.Client
):
9 def debuglog(self
, str):
10 logging
.debug("MemCached: %s" % str)
13 class Cache(base
.Object
):
16 def __init__(self
, pakfire
):
17 base
.Object
.__init
__(self
, pakfire
)
19 logging
.info("Initializing memcache...")
21 # Fetching servers from the database configuration.
22 servers
= self
.settings
.get("memcache_servers", "")
23 self
.servers
= servers
.split()
25 logging
.info(" Using servers: %s" % ", ".join(self
.servers
))
27 self
._memcache
= Client(self
.servers
, debug
=1)
30 logging
.debug("Querying memcache for: %s" % key
)
32 key
= "".join((self
.key_prefix
, key
))
34 return self
._memcache
.get(key
)
36 def set(self
, key
, val
, time
=60, min_compress_len
=0):
37 key
= "".join((self
.key_prefix
, key
))
39 return self
._memcache
.set(key
, val
, time
=time
,
40 min_compress_len
=min_compress_len
)
42 def delete(self
, key
, time
=0):
43 key
= "".join((self
.key_prefix
, key
))
45 return self
._memcache
.delete(key
, time
=time
)
48 class PermanentCache(base
.Object
):
51 def has_key(self
, key
):
52 return self
.__items
.has_key(key
)
54 def get(self
, key
, default
=None):
55 return self
.__items
.get(key
, default
)
57 def set(self
, key
, val
):
58 self
.__items
[key
] = val
60 def delete(self
, key
):
61 if self
.__items
.has_key(key
):