Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Optimized the cached_db session backend to check if a key exists in t…

…he cache first.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17156 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit c11f9c3193901215ec79732af6ab6c66b3c1c2ba 1 parent bda21e2
@aaugustin aaugustin authored
View
2  django/contrib/sessions/backends/cached_db.py
@@ -28,6 +28,8 @@ def load(self):
return data
def exists(self, session_key):
+ if (KEY_PREFIX + session_key) in cache:
+ return True
return super(SessionStore, self).exists(session_key)
def save(self, must_create=False):
View
5 django/contrib/sessions/tests.py
@@ -293,6 +293,11 @@ class CacheDBSessionTests(SessionTestsMixin, TestCase):
backend = CacheDBSession
+ def test_exists_searches_cache_first(self):
+ self.session.save()
+ with self.assertNumQueries(0):
+ self.assertTrue(self.session.exists(self.session.session_key))
+
CacheDBSessionWithTimeZoneTests = override_settings(USE_TZ=True)(CacheDBSessionTests)
Please sign in to comment.
Something went wrong with that request. Please try again.