Added 'dummy' cache backend

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1815 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-01-03 23:41:31 +00:00
parent 839bcfe330
commit 6cca806943
2 changed files with 38 additions and 5 deletions

View File

@ -32,6 +32,9 @@ The CACHE_BACKEND setting is a quasi-URI; examples are:
locmem:/// A more sophisticaed local memory cache; locmem:/// A more sophisticaed local memory cache;
this is multi-process- and thread-safe. this is multi-process- and thread-safe.
dummy:/// Doesn't actually cache. For use in test
environments.
All caches may take arguments; these are given in query-string style. Valid All caches may take arguments; these are given in query-string style. Valid
arguments are: arguments are:
@ -275,6 +278,29 @@ class _LocMemCache(_SimpleCache):
finally: finally:
self._lock.writer_leaves() self._lock.writer_leaves()
###############
# Dummy cache #
###############
class _DummyCache(_Cache):
def __init__(self, *args, **kwargs):
pass
def get(self, *args, **kwargs):
pass
def set(self, *args, **kwargs):
pass
def delete(self, *args, **kwargs):
pass
def get_many(self, *args, **kwargs):
pass
def has_key(self, *args, **kwargs):
return False
#################### ####################
# File-based cache # # File-based cache #
#################### ####################
@ -443,11 +469,12 @@ class _DBCache(_Cache):
from cgi import parse_qsl from cgi import parse_qsl
_BACKENDS = { _BACKENDS = {
'memcached' : _MemcachedCache, 'memcached': _MemcachedCache,
'simple' : _SimpleCache, 'simple': _SimpleCache,
'locmem' : _LocMemCache, 'locmem': _LocMemCache,
'file' : _FileCache, 'file': _FileCache,
'db' : _DBCache, 'db': _DBCache,
'dummy': _DummyCache,
} }
def get_cache(backend_uri): def get_cache(backend_uri):

View File

@ -47,6 +47,12 @@ Examples:
locmem:/// A more sophisticated local memory cache; locmem:/// A more sophisticated local memory cache;
this is multi-process- and thread-safe. this is multi-process- and thread-safe.
dummy:/// **New in Django development version.**
Doesn't actually cache; just implements the
cache backend interface and doesn't do
anything. This is an easy way to turn off
caching for a test environment.
============================== =========================================== ============================== ===========================================
All caches may take arguments -- they're given in query-string style. Valid All caches may take arguments -- they're given in query-string style. Valid