Commit 0d48087a authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

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
parent 93462f95
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -121,7 +121,11 @@ class SessionBase(object):
        return self._session.iteritems()

    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

    def _get_new_session_key(self):
+2 −0
Original line number Diff line number Diff line
@@ -42,6 +42,8 @@ class SessionStore(SessionBase):

    def delete(self, session_key=None):
        if session_key is None:
            if self._session_key is None:
                return
            session_key = self._session_key
        self._cache.delete(session_key)
+2 −0
Original line number Diff line number Diff line
@@ -63,6 +63,8 @@ class SessionStore(SessionBase):

    def delete(self, session_key=None):
        if session_key is None:
            if self._session_key is None:
                return
            session_key = self._session_key
        try:
            Session.objects.get(session_key=session_key).delete()
+2 −0
Original line number Diff line number Diff line
@@ -94,6 +94,8 @@ class SessionStore(SessionBase):

    def delete(self, session_key=None):
        if session_key is None:
            if self._session_key is None:
                return
            session_key = self._session_key
        try:
            os.unlink(self._key_to_file(session_key))