Skip to main content

Redis Session Backend For Django

Project description

info:

Redis Session Backend For Django

https://api.travis-ci.org/hellysmile/django-redis-sessions-fork.png https://coveralls.io/repos/hellysmile/django-redis-sessions-fork/badge.png?branch=master https://pypip.in/d/django-redis-sessions-fork/badge.png https://pypip.in/v/django-redis-sessions-fork/badge.png https://d2weczhvl823v0.cloudfront.net/hellysmile/django-redis-sessions-fork/trend.png

Features

  • Fast NoSQL Django sessions backend

  • Invalidation via TTL

  • Easy migrations from django.contrib.sessions

  • Fastest session serializers

  • Backward migrations to django.contrib.sessions

Installation

run pip install django-redis-sessions-fork

or alternatively download the tarball and run python setup.py install

set redis_sessions_fork.session as your session engine, like so

SESSION_ENGINE = 'redis_sessions_fork.session'

Configuration

# all these options are defaults, you can skip anyone
SESSION_REDIS_HOST = '127.0.0.1'
SESSION_REDIS_PORT = 6379
SESSION_REDIS_DB = 0
SESSION_REDIS_PASSWORD = None
SESSION_REDIS_PREFIX = None

# if you prefer domain socket connection
# you can just add this line instead of SESSION_REDIS_HOST and SESSION_REDIS_PORT
SESSION_REDIS_UNIX_DOMAIN_SOCKET_PATH = '/var/run/redis/redis.sock'

# you can also use redis from url
SESSION_REDIS_URL = 'redis://127.0.0.1:6379/0'

# also available setup connection via redis.ConnectionPool like
SESSION_REDIS_CONNECTION_POOL = 'random.app.redis_connection_pool'

if you one of happy heroku.com users

you can skip redis configuration at all

django-redis-sessions-fork already have prefiguration for redis clouds

Serializer’s

Django>=1.5.3 supports different session serializers, such as django.contrib.sessions.serializers.PickleSerializer and django.contrib.sessions.serializers.JSONSerializer

alternative you can use ujson serializer, which is more faster then default

pip install ujson

then

SESSION_SERIALIZER = 'redis_sessions_fork.serializers.UjsonSerializer',

or msgpack serializer via C based extension

pip install msgpack-python

then

SESSION_SERIALIZER = 'redis_sessions_fork.serializers.MsgpackSerializer'

or msgpack serializer written in pure Python

pip install u-msgpack-python

then

SESSION_SERIALIZER = 'redis_sessions_fork.serializers.UmsgpackSerializer'

msgpack serializers, may not handle some data types

Sessions migration

add redis_sessions_fork to your INSTALLED_APPS

# copy orm sessions to redis
python manage.py migrate_sessions_to_redis
# copy redis sessions to orm
python manage.py migrate_sessions_to_orm
# flush redis sessions
python manage.py flush_redis_sessions
# flush orm sessions
python manage.py flush_orm_sessions

Tests

pip install tox
tox

Project details


Download files

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

Source Distribution

django-redis-sessions-fork-0.6.0.tar.gz (6.7 kB view details)

Uploaded Source

File details

Details for the file django-redis-sessions-fork-0.6.0.tar.gz.

File metadata

File hashes

Hashes for django-redis-sessions-fork-0.6.0.tar.gz
Algorithm Hash digest
SHA256 01be37edb83f53cc7fae53015e14e24e6f70e0db79544a0ad8c5c5552ce94046
MD5 d45cc4e499c384962268b63ae69098b2
BLAKE2b-256 ff964e80c93034df218538dbfcd1bc6112d7923729c15871cbfeead310ad9cc0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page