Metadata-Version: 1.1
Name: django-kidoredis
Version: 1.0
Summary: Django redis backend
Home-page: http://kidosoft.pl
Author: Jakub STOLARSKI (Dryobates)
Author-email: jakub.stolarski@kidosoft.pl
License: beerware
Description: ##########
        Kido Redis
        ##########
        
        Goal
        ====
        
        Provide Redis backends for Django that faciliates using multiple Redis servers
        in the same time like if they were in master/master or sharded configuration.
        
        Installation
        ============
        
        .. code-block:: console
        
           pip install django-kidoredis
        
        or current development version:
        
        .. code-block:: console
        
           pip install hg+https:://bitbucket.org/kidosoft/django-kidoredis
        
        Configuration
        =============
        
        .. code-block:: python
        
            CACHES = {
                'redis_ring': {
                    'BACKEND': 'kidoredis.backends.RedisRing',  # sharding backend
                    'DB': 0,
                    'LOCATION': [
                        'localhost:6379',
                        'localhost:6380',
                    ]
                },
                'redis_copy': {
                    'BACKEND': 'kidoredis.backends.RedisCopy',  # copying backend
                    'DB': 0,
                    'LOCATION': [
                        'localhost:6379',
                        'localhost:6380',
                    ]
                }
            }
        
        
        Redis is configured as cache backend although it should be treat as specialized
        database. There are two backends:
        
        How to use
        ==========
        
        After configuration access to Redis is done like to any other Django cache:
        
        .. code-block:: python
        
           from django.core.cache import caches
           caches['redis_ring'].set('key1', 1)  # set key1 only on on server
           caches['redis_copy'].set('key2', 2)  # set key2 on all servers
           result_list = caches['redis_copy'].zrange('key3', 1, 10)  # redis only command
        
        Caveats 
        =======
        
        RedisCopy can save data to many nodes. Each of this nodes can return different
        result on save. For that reason commands that save data to nodes returns list
        of results from each node. E.g. with two nodes set for redis_copy:
        
        .. code-block:: python
        
           >>> print caches['redis_copy'].set('key1', 2)
           [True, True]
        
Keywords: django redis
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Framework :: Django
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
