Redis Session Backend For Django
Project description
info: | Redis Session Backend For Django |
---|
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'
in addition it is possible to configure ujson encoding, like
SESSION_REDIS_JSON_ENCODING = 'utf8' # default is 'latin-1'
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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size django-redis-sessions-fork-0.7.0.tar.gz (6.9 kB) | File type Source | Python version None | Upload date | Hashes View hashes |
Hashes for django-redis-sessions-fork-0.7.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8eec44cd73edab34d41e368bbc5758da6fcfe198e4342bd1ebfa917e9aa9366 |
|
MD5 | 93b8899c5db599846b0943f7c21cd86a |
|
BLAKE2-256 | 4cbed3c7b7ed86c42b2b6766a3048a60da3fbd7371a8909c29876389d9766d06 |