summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Cache.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Bcfg2/Server/Cache.py')
-rw-r--r--src/lib/Bcfg2/Server/Cache.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Cache.py b/src/lib/Bcfg2/Server/Cache.py
new file mode 100644
index 000000000..842098eda
--- /dev/null
+++ b/src/lib/Bcfg2/Server/Cache.py
@@ -0,0 +1,14 @@
+""" An implementation of a simple memory-backed cache. Right now this
+doesn't provide many features, but more (time-based expiration, etc.)
+can be added as necessary. """
+
+
+class Cache(dict):
+ """ an implementation of a simple memory-backed cache """
+
+ def expire(self, key=None):
+ """ expire all items, or a specific item, from the cache """
+ if key is None:
+ self.clear()
+ elif key in self:
+ del self[key]