anchor.diff:  [source, python]
   ----
   >>> from django.core.cache import cache
  ->>> cache.keys("foo_*")
  -["value1", "value2"]
  +>>> cache.keys('foo_*')
  +['value1', 'value2']
   ----
   
   .Example use of delete_pattern
   [source, python]
   ----
   >>> from django.core.cache import cache
  ->>> cache.delete_pattern("foo_*")
  +>>> cache.delete_pattern('foo_*')
   ----
   
   Redis native commands
   ~~~~~~~~~~~~~~~~~~~~~
   
  -*django-redis* has limited support for some redis atomic operations, such as commands `setnx` and `inc`.
  -
  -You can use *setnx* command with backend `set()` method with `nx` parameter:
  +*django-redis* has limited support for some Redis atomic operations, such as the commands `SETNX` and `INCR`.
  +
  +You can use the `SETNX command through the backend `set()` method with the `nx` parameter:
   
   .Example:
   [source, python]
   ----
   >>> from django.core.cache import cache
  ->>> cache.set("key", "value1", nx=True)
  +>>> cache.set('key', 'value1', nx=True)
   True
  ->>> cache.set("key", "value2", nx=True)
  +>>> cache.set('key', 'value2', nx=True)
   False
  ->>> cache.get("key")
  -"value1"
  +>>> cache.get('key')
  +'value1'
   ----
   
   Raw client access
   ~~~~~~~~~~~~~~~~~
   
  -In some situations, your application should require access to raw redis client for use some other advanced
  -features that aren't exposed by django cache interface. For avoid store an other settings for creating a raw
  -connection, *django-redis* exposes functions with that you can obtain a raw client reusing cache connection
  +In some situations your application requires access to a raw Redis client to use some advanced
  +features that aren't exposed by the Django cache interface. To avoid storing another setting for creating a raw
  +connection, *django-redis* exposes functions with which you can obtain a raw client reusing the cache connection
   string: `get_redis_connection(alias)`.
   
   [source, python]
  
positive.code: 
  You can verify how many connections the pool has opened with the following snippet:
  
  [source,python]
  ----
  from django.core.cache import get_cache
  redis_cache = get_cache("default")  # Use name you define 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)
  ----
  
  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.
  
  ._myproj/mypool.py_
  [source,python]
  ----
  from redis.connection import ConnectionPool
  
  
negative.code: Introduction
  ------------
  
  _django-redis_ is a xref:license[BSD Licensed], full featured Redis cache/session backend for Django.
  
  
  Why use django-redis?
  ---------------------
  
  Because:
  
  - In active development.
  - Modular client system (pluggable clients).
  - Master-Slave support in the default client.
  - Complete battery of tests.
  - Used in production in several projects as cache and session storage.
  - Supports infinite timeouts.
  - Python 3 support in same code base.
  - Wide range of Django version support: 1.3-1.7
  - Facilities for raw access to Redis client/connection pool.
  - Highly configurable (can emulate memcached exception behavior, for example).
  - Unix sockets supported by default.
  - Pluggable parsers.
  
  
  How to install?
  ---------------
  
  The simplest way to use *django-redis* in your project is to install it with *pip*:
  
  [source,text]
  ----
  pip install django-redis
  ----
  
  Latest stable version: *3.6.1*
  
  Previous stable version: *3.5.2*
  
  