Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Django session back-end persisting to Redis

Project description

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

Project details


Release history Release notifications

This version

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for rsession, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size rsession-0.1.0.tar.gz (2.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page