sqlalchemy / dogpile.cache

dogpile.cache is a Python caching API which provides a generic interface to caching backends of any variety
https://dogpilecache.sqlalchemy.org
MIT License
242 stars 47 forks source link
memcached redis

dogpile

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.

Overall, dogpile.cache is intended as a replacement to the Beaker <https://pypi.org/project/Beaker/>_ caching system, the internals of which are written by the same author. All the ideas of Beaker which "work" are re- implemented in dogpile.cache in a more efficient and succinct manner, and all the cruft (Beaker's internals were first written in 2005) relegated to the trash heap.

Documentation

See dogpile.cache's full documentation at dogpile.cache documentation <https://dogpilecache.sqlalchemy.org>_. The sections below provide a brief synopsis of the dogpile packages.

Features

The SQLAlchemy Project

Dogpile is part of the SQLAlchemy Project <https://www.sqlalchemy.org>_ and adheres to the same standards and conventions as the core project.

Development / Bug reporting / Pull requests


Please refer to the SQLAlchemy Community Guide <https://www.sqlalchemy.org/develop.html>_ for guidelines on coding and participating in this project.

Code of Conduct


Above all, SQLAlchemy places great emphasis on polite, thoughtful, and constructive communication between users and developers. Please see our current Code of Conduct at Code of Conduct <https://www.sqlalchemy.org/codeofconduct.html>_.

License

Dogpile is distributed under the MIT license <https://opensource.org/licenses/MIT>_.