summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWichert Akkerman <wichert@wiggy.net>2014-06-05 14:56:01 +0200
committerWichert Akkerman <wichert@wiggy.net>2014-06-05 14:57:54 +0200
commit977404b10e32e861d8517560c8a4618d26fe04c9 (patch)
treeb2cff966896d493a3837160c9d097ee2a240b4b1
parent30685d06840e18f28e7c88d1bc251e7e5e8a130d (diff)
downloaddogpile-cache-977404b10e32e861d8517560c8a4618d26fe04c9.tar.gz
Add dummy cache backend
-rw-r--r--docs/build/api.rst2
-rw-r--r--dogpile/cache/backends/__init__.py1
-rw-r--r--dogpile/cache/backends/dummy.py46
3 files changed, 49 insertions, 0 deletions
diff --git a/docs/build/api.rst b/docs/build/api.rst
index cfb9ffc..4703f11 100644
--- a/docs/build/api.rst
+++ b/docs/build/api.rst
@@ -39,6 +39,8 @@ Backends
.. automodule:: dogpile.cache.proxy
:members:
+.. automodule:: dogpile.cache.dummy
+ :members:
Plugins
========
diff --git a/dogpile/cache/backends/__init__.py b/dogpile/cache/backends/__init__.py
index a9b9c2e..80309f5 100644
--- a/dogpile/cache/backends/__init__.py
+++ b/dogpile/cache/backends/__init__.py
@@ -1,5 +1,6 @@
from dogpile.cache.region import register_backend
+register_backend("dogpile.cache.dummy", "dogpile.cache.backends.dummy", "DummyBackend")
register_backend("dogpile.cache.dbm", "dogpile.cache.backends.file", "DBMBackend")
register_backend("dogpile.cache.pylibmc", "dogpile.cache.backends.memcached", "PylibmcBackend")
register_backend("dogpile.cache.bmemcached", "dogpile.cache.backends.memcached", "BMemcachedBackend")
diff --git a/dogpile/cache/backends/dummy.py b/dogpile/cache/backends/dummy.py
new file mode 100644
index 0000000..4e1cf8e
--- /dev/null
+++ b/dogpile/cache/backends/dummy.py
@@ -0,0 +1,46 @@
+"""
+Dummy Backend
+-------------
+
+The dummy backend does not do any cachingn at all. It is inteded to be used
+to test behaviour without caching.
+"""
+
+from dogpile.cache.api import CacheBackend, NO_VALUE
+
+
+__all__ = ['DummyBackend']
+
+
+class DummyLock(object): # pragma NO COVERAGE
+ def acquire(self):
+ pass
+
+ def release(self):
+ pass
+
+
+class DummyBackend(CacheBackend): # pragma NO COVERAGE
+ def __init__(self, arguments):
+ pass
+
+ def get_mutex(self, key):
+ return DummyLock()
+
+ def get(self, key):
+ return NO_VALUE
+
+ def get_multiple(self, keys):
+ return [NO_VALUE for k in keys]
+
+ def set(self, key, value):
+ pass
+
+ def set_multiple(self, mapping):
+ pass
+
+ def delete(self, key):
+ pass
+
+ def delete_multiple(self, keys):
+ pass