+15
-9
lines changedFilter options
+15
-9
lines changed Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
1
1
from django.contrib.sessions.backends.base import SessionBase, CreateError
2
2
from django.core.cache import cache
3
3
4
+
KEY_PREFIX = "django.contrib.sessions.cache"
5
+
4
6
class SessionStore(SessionBase):
5
7
"""
6
8
A cache-based session store.
@@ -10,7 +12,7 @@ def __init__(self, session_key=None):
10
12
super(SessionStore, self).__init__(session_key)
11
13
12
14
def load(self):
13
-
session_data = self._cache.get(self.session_key)
15
+
session_data = self._cache.get(KEY_PREFIX + self.session_key)
14
16
if session_data is not None:
15
17
return session_data
16
18
self.create()
@@ -37,13 +39,13 @@ def save(self, must_create=False):
37
39
func = self._cache.add
38
40
else:
39
41
func = self._cache.set
40
-
result = func(self.session_key, self._get_session(no_load=must_create),
42
+
result = func(KEY_PREFIX + self.session_key, self._get_session(no_load=must_create),
41
43
self.get_expiry_age())
42
44
if must_create and not result:
43
45
raise CreateError
44
46
45
47
def exists(self, session_key):
46
-
if self._cache.has_key(session_key):
48
+
if self._cache.has_key(KEY_PREFIX + session_key):
47
49
return True
48
50
return False
49
51
@@ -52,5 +54,5 @@ def delete(self, session_key=None):
52
54
if self._session_key is None:
53
55
return
54
56
session_key = self._session_key
55
-
self._cache.delete(session_key)
57
+
self._cache.delete(KEY_PREFIX + session_key)
56
58
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@
6
6
from django.contrib.sessions.backends.db import SessionStore as DBStore
7
7
from django.core.cache import cache
8
8
9
+
KEY_PREFIX = "django.contrib.sessions.cached_db"
10
+
9
11
class SessionStore(DBStore):
10
12
"""
11
13
Implements cached, database backed sessions.
@@ -15,22 +17,24 @@ def __init__(self, session_key=None):
15
17
super(SessionStore, self).__init__(session_key)
16
18
17
19
def load(self):
18
-
data = cache.get(self.session_key, None)
20
+
data = cache.get(KEY_PREFIX + self.session_key, None)
19
21
if data is None:
20
22
data = super(SessionStore, self).load()
21
-
cache.set(self.session_key, data, settings.SESSION_COOKIE_AGE)
23
+
cache.set(KEY_PREFIX + self.session_key, data,
24
+
settings.SESSION_COOKIE_AGE)
22
25
return data
23
26
24
27
def exists(self, session_key):
25
28
return super(SessionStore, self).exists(session_key)
26
29
27
30
def save(self, must_create=False):
28
31
super(SessionStore, self).save(must_create)
29
-
cache.set(self.session_key, self._session, settings.SESSION_COOKIE_AGE)
32
+
cache.set(KEY_PREFIX + self.session_key, self._session,
33
+
settings.SESSION_COOKIE_AGE)
30
34
31
35
def delete(self, session_key=None):
32
36
super(SessionStore, self).delete(session_key)
33
-
cache.delete(session_key or self.session_key)
37
+
cache.delete(KEY_PREFIX + (session_key or self.session_key))
34
38
35
39
def flush(self):
36
40
"""
@@ -39,4 +43,4 @@ def flush(self):
39
43
"""
40
44
self.clear()
41
45
self.delete(self.session_key)
42
-
self.create()
46
+
self.create()
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4