anchor.diff:  
   You can verify how many connections the pool has opened with the following snippet:
   
  -[source,python]
  +[source, python]
   ----
   from django.core.cache import get_cache
  -redis_cache = get_cache("default")  # Use name you define for Redis in settings.CACHES
  +redis_cache = get_cache('default')  # Use the name you have defined for Redis in settings.CACHES
   redis = redis_cache.raw_client
   connection_pool = redis.connection_pool
  -print("Created connections thus far %d" % connection_pool._created_connections)
  +print('Created connections so far: %d' % connection_pool._created_connections)
   ----
   
   Use your own connection pool subclass
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   
  -Also, in some momments you want put your own subclass of connection pool. It is also possible with
  -django-redis using **CONNECTION_POOL_CLASS** parameter on the backend options.
  +Sometimes you want to use your own subclass of the connection pool. This is possible with
  +*django-redis* using the `CONNECTION_POOL_CLASS` parameter in the backend options.
   
   ._myproj/mypool.py_
  -[source,python]
  +[source, python]
   ----
   from redis.connection import ConnectionPool
   
  
positive.code: Default client
  ^^^^^^^^^^^^^^
  
  Additionally to previously explained, default client comes with master-slave connection support. For
  use master-slave configuration on your project, you should change you *LOCATION* value to something like this:
  
  [source, python]
  ----
  "LOCATION": [
      "127.0.0.1:6379:1",
      "127.0.0.1:6378:1",
  ]
  ----
  
  WARNING: Master-Slave setup is not heavily tested on production environments.
  
  Shard client
  ^^^^^^^^^^^^
  
  This plugable client implements client-side sharding. It inherits almost all functionality from
  the default client. For use it, you change your cache settings to something like this:
  
  [source, python]
  ----
  CACHES = {
      "default": {
          "BACKEND": "redis_cache.cache.RedisCache",
          "LOCATION": [
              "127.0.0.1:6379:1",
              "127.0.0.1:6379:2",
          ],
          "OPTIONS": {
              "CLIENT_CLASS": "redis_cache.client.ShardClient",
          }
      }
  }
  ----
  
  WARNING: shard client is still experimental and be careful when using it on production environments.
  
  Herd client
  ^^^^^^^^^^^
  
  This plugable client helps with dealing with thundering herd problem. You can read more about it
  on link:http://en.wikipedia.org/wiki/Thundering_herd_problem[Wikipedia].
  
  As previous plugable client, it inherits all functionality from default client, adding some additional
  login for get/set keys.
  
  .Example setup
  [source,python]
  ----
   CACHES = {
      "default": {
          "BACKEND": "redis_cache.cache.RedisCache",
          "LOCATION": "127.0.0.1:6379:1",
          "OPTIONS": {
              "CLIENT_CLASS": "redis_cache.client.HerdClient",
          }
      }
  }
  ----
  
  This client, exposes additional settings:
  
  - *CACHE_HERD_TIMEOUT*: Set default herd timeout. (default value: 60s)
  
  
  Auto Failover client
  ^^^^^^^^^^^^^^^^^^^^
  
  This plugable experimental client offers simple failover algorithm if the main redis server turns down.
  
  For setup, you should change your cache settings to somethin like this:
  
  [source,python]
  ----
  CACHES = {
      "default": {
          "BACKEND": "redis_cache.cache.RedisCache",
          "LOCATION": "127.0.0.1:6379:1/127.0.0.2:6379:1",
          "OPTIONS": {
              "CLIENT_CLASS": "redis_cache.client.SimpleFailoverClient",
          }
      }
  }
  ----
  
  The big difference is that each key on *LOCATION* setting list can contain two connection strings
  separated by "/". A second connection strings works as failover server.
  
  
  [[license]]
  
negative.code: Configure as cache backend
  ~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  To start using *django-redis*, you should change your Django cache settings to something like:
  
  [source, python]
  ----
  CACHES = {
      'default': {
          'BACKEND': 'redis_cache.cache.RedisCache',
          'LOCATION': '127.0.0.1:6379:1',
          'OPTIONS': {
              'CLIENT_CLASS': 'redis_cache.client.DefaultClient',
              'PASSWORD': 'secretpassword',  # Optional
          }
      }
  }
  ----
  
  In this example, we are using a standard TCP/IP socket connection to Redis running at `localhost`, using database 1.
  In `OPTIONS`, we have specified the pluggable client we want to use; in this case the default one. You can omit
  this part since that client is used by default if one is not specified.
  
  NOTE: If you want use Unix sockets, change the `LOCATION` value to something like `"unix:/path/to/socket:1"`.
  
  
  Configure as session backend
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  Django can by default use any cache backend as session backend and you benefit from that by using *django-redis*
  as backend for session storage without installing any additional and unnecesary backends:
  
  [source, python]
  ----
  SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
  SESSION_CACHE_ALIAS = 'default'
  ----
  
  
  