File: README.rst

package info (click to toggle)
django-redis-sessions 0.6.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 148 kB
  • sloc: python: 341; makefile: 4
file content (124 lines) | stat: -rw-r--r-- 3,017 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
django-redis-sessions
=====================

Redis database backend for your sessions

|Build Status|

-  `Installation`_
-  `Available Settings`_
-  `Changelog`_

Installation
============

-  Run ``pip install django-redis-sessions`` or alternatively download
   the tarball and run ``python setup.py install``,

For Django < 1.4 run ``pip install django-redis-sessions==0.3``

-  Set ``redis_sessions.session`` as your session engine, like so:

.. code:: python

    SESSION_ENGINE = 'redis_sessions.session'

Available Settings
==================

.. code:: python

    SESSION_REDIS = {
        'host': 'localhost',
        'port': 6379,
        'db': 0,
        'password': 'password',
        'prefix': 'session',
        'socket_timeout': 1,
        'retry_on_timeout': False
        }

If you prefer domain socket connection, you can just add this line
instead of HOST and PORT.

.. code:: python

    SESSION_REDIS = {
        'unix_domain_socket_path': '/var/run/redis/redis.sock',
        'db': 0,
        'password': 'password',
        'prefix': 'session',
        'socket_timeout': 1,
        'retry_on_timeout': False
    }

Redis Sentinel
~~~~~~~~~~~~~~

.. code:: python

    SESSION_REDIS_SENTINEL_LIST = [(host, port), (host, port), (host, port)]
    SESSION_REDIS_SENTINEL_MASTER_ALIAS = 'sentinel-master'

Redis Pool (Horizontal partitioning)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Splits sessions between Redis instances based on the session key. You
can configure the connection type for each Redis instance in the pool
(host/port, unix socket, redis url).


.. code:: python

    SESSION_REDIS = {
        'prefix': 'session',
        'socket_timeout': 1
        'retry_on_timeout': False,
        'pool': [{
            'host': 'localhost3',
            'port': 6379,
            'db': 0,
            'password': None,
            'unix_domain_socket_path': None,
            'url': None,
            'weight': 1
        },
        {
            'host': 'localhost2',
            'port': 6379,
            'db': 0,
            'password': None,
            'unix_domain_socket_path': None,
            'url': None,
            'weight': 1
        },
        {
            'host': 'localhost1',
            'port': 6379,
            'db': 0,
            'password': None,
            'unix_domain_socket_path': None,
            'url': None,
            'weight': 1
        }]
    }


Tests
=====

.. code:: bash

    $ pip install -r dev_requirements.txt
    # Make sure you have redis running on localhost:6379
    $ nosetests -v

`Changelog <https://github.com/martinrusev/django-redis-sessions/blob/master/CHANGELOG.md>`__
=============================================================================================

.. _Installation: #installation
.. _Available Settings: #available-settings
.. _Changelog: #changelog

.. |Build Status| image:: https://travis-ci.org/martinrusev/django-redis-sessions.svg?branch=master
   :target: https://travis-ci.org/martinrusev/django-redis-sessions