rsession is yet another Redis-backed Django session store.
There are a few available within a short Google but it was not clear which should be used and differences between them made me decide to roll my own.
This session store is a copy of Django's own database session store with each method modified to suit Redis.
Installation of rsession is easily accomplished with pip:
$ pip install rsession
To use, install Redis and amend your Django settings as follows, substituting appropriate values if your Redis server is not a default installation on localhost:
RSESSION = {
'HOST' : 'localhost',
'PORT' : 6379,
'DB' : 0,
'PASSWORD' : '',
'PREFIX' : 'RSESSION',
}
SESSION_ENGINE = "rsession.rsession"
# 14 days is default expiry for Django. Setting included
# here to remind the user that the session length is modifiable
# and probably should be for your application
SESSION_COOKIE_AGE = 60 * 60 * 24 * 14 # 14 days in seconds
SESSION_SAVE_EVERY_REQUEST = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
Finally, whilst not essential, you can remove django.contrib.sessions from
your installed apps as this is only required if using
Django database-backed sessions.
Your work is now done. Django sessions will be stored in Redis under the key
RSESSION:<session key> (unless you change the prefix in settings as above)
and these will be purged SESSION_COOKIE_AGE seconds after the last use.
If you have comments and would like to get in touch, please mail rsession at zorinholdings.com
Matthew May 2011