Welcome to dogpile.cache’s documentation! — dogpile.cache 0.6.2 documentation

# Welcome to dogpile.cache’s documentation!

Dogpile consists of two subsystems, one building on top of the other.

`dogpile` provides the concept of a “dogpile lock”, a control structure which allows a single thread of execution to be selected as the “creator” of some resource, while allowing other threads of execution to refer to the previous version of this resource as the creation proceeds; if there is no previous version, then those threads block until the object is available.

`dogpile.cache` is a caching API which provides a generic interface to caching backends of any variety, and additionally provides API hooks which integrate these cache backends with the locking mechanism of `dogpile`.

New backends are very easy to create and use; users are encouraged to adapt the provided backends for their own needs, as high volume caching requires lots of tweaks and adjustments specific to an application and its environment.

- Front Matter
  - Project Homepage
  - Installation
  - Bugs
- Usage Guide
  - Overview
  - Rudimentary Usage
  - Region Configuration
  - Using a Region
  - Creating Backends
  - Changing Backend Behavior
- Recipes
  - Invalidating a group of related keys
  - Asynchronous Data Updates with ORM Events
  - Prefixing all keys in Redis
  - Encoding/Decoding data into another format
- dogpile Core
  - Do I Need to Learn the dogpile Core API Directly?
  - Rudimentary Usage
  - Example: Using dogpile directly for Caching
  - Using a File or Distributed Lock with Dogpile
- API
  - Region
  - Backend API
  - Backends
  - Plugins
  - Utilities
  - dogpile Core
- Changelog
  - 0.6.2
  - 0.6.1
  - 0.6.0
  - 0.5.7
  - 0.5.6
  - 0.5.5
  - 0.5.4
  - 0.5.3
  - 0.5.2
  - 0.5.1
  - 0.5.0
  - 0.4.3
  - 0.4.2
  - 0.4.1
  - 0.4.0
  - 0.3.1
  - 0.3.0
  - 0.2.4
  - 0.2.3
  - 0.2.2
  - 0.2.1
  - 0.2.0
  - 0.1.1
  - 0.1.0

## Indices and tables

- Index
- Module Index
- Search Page