app/django/contrib/sessions/backends/cache.py
changeset 54 03e267d67478
child 323 ff1a9aa48cfd
equal deleted inserted replaced
53:57b4279d8c4e 54:03e267d67478
       
     1 from django.conf import settings
       
     2 from django.contrib.sessions.backends.base import SessionBase
       
     3 from django.core.cache import cache
       
     4 
       
     5 class SessionStore(SessionBase):
       
     6     """
       
     7     A cache-based session store. 
       
     8     """
       
     9     def __init__(self, session_key=None):
       
    10         self._cache = cache
       
    11         super(SessionStore, self).__init__(session_key)
       
    12         
       
    13     def load(self):
       
    14         session_data = self._cache.get(self.session_key)
       
    15         return session_data or {}
       
    16 
       
    17     def save(self):
       
    18         self._cache.set(self.session_key, self._session, settings.SESSION_COOKIE_AGE)
       
    19 
       
    20     def exists(self, session_key):
       
    21         if self._cache.get(session_key):
       
    22             return True
       
    23         return False
       
    24         
       
    25     def delete(self, session_key):
       
    26         self._cache.delete(session_key)