Made a few small tweaks to reduce persistent storage accesses in the session
backend. Refs #8311, although doesn't fix the problem there. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8381 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
93462f9516
commit
0d48087a53
|
@ -121,7 +121,11 @@ class SessionBase(object):
|
||||||
return self._session.iteritems()
|
return self._session.iteritems()
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
self._session.clear()
|
# To avoid unnecessary persistent storage accesses, we set up the
|
||||||
|
# internals directly (loading data wastes time, since we are going to
|
||||||
|
# set it to an empty dict anyway).
|
||||||
|
self._session_cache = {}
|
||||||
|
self.accessed = True
|
||||||
self.modified = True
|
self.modified = True
|
||||||
|
|
||||||
def _get_new_session_key(self):
|
def _get_new_session_key(self):
|
||||||
|
|
|
@ -42,6 +42,8 @@ class SessionStore(SessionBase):
|
||||||
|
|
||||||
def delete(self, session_key=None):
|
def delete(self, session_key=None):
|
||||||
if session_key is None:
|
if session_key is None:
|
||||||
|
if self._session_key is None:
|
||||||
|
return
|
||||||
session_key = self._session_key
|
session_key = self._session_key
|
||||||
self._cache.delete(session_key)
|
self._cache.delete(session_key)
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,8 @@ class SessionStore(SessionBase):
|
||||||
|
|
||||||
def delete(self, session_key=None):
|
def delete(self, session_key=None):
|
||||||
if session_key is None:
|
if session_key is None:
|
||||||
|
if self._session_key is None:
|
||||||
|
return
|
||||||
session_key = self._session_key
|
session_key = self._session_key
|
||||||
try:
|
try:
|
||||||
Session.objects.get(session_key=session_key).delete()
|
Session.objects.get(session_key=session_key).delete()
|
||||||
|
|
|
@ -94,6 +94,8 @@ class SessionStore(SessionBase):
|
||||||
|
|
||||||
def delete(self, session_key=None):
|
def delete(self, session_key=None):
|
||||||
if session_key is None:
|
if session_key is None:
|
||||||
|
if self._session_key is None:
|
||||||
|
return
|
||||||
session_key = self._session_key
|
session_key = self._session_key
|
||||||
try:
|
try:
|
||||||
os.unlink(self._key_to_file(session_key))
|
os.unlink(self._key_to_file(session_key))
|
||||||
|
|
Loading…
Reference in New Issue