Beaker Documentation
Beaker is a library for caching and sessions for use with web applications and stand-alone Python scripts and applications. It comes with WSGI middleware for easy drop-in use with WSGI based web applications, and caching decorators for ease of use with any Python based application.
Lazy-Loading Sessions: No performance hit for having sessions active in a request unless they’re actually used
Performance: Utilizes a multiple-reader / single-writer locking system to prevent the Dog Pile effect when caching.
Multiple Back-ends: File-based, DBM files, memcached, memory, Redis, MongoDB, and database (via SQLAlchemy) back-ends available for sessions and caching
Cookie-based Sessions: SHA-1 signatures with optional AES encryption for client-side cookie-based session storage
Flexible Caching: Data can be cached per function to different back-ends, with different expirations, and different keys
Extensible Back-ends: Add more back-ends using setuptools entrypoints to support new back-ends.
Indices and tables
Module Listing
beaker.cache– Cache modulebeaker.container– Container and Namespace classesbeaker.middleware– Middleware classesbeaker.session– Session classesbeaker.synchronization– Synchronization classesbeaker.util– Beaker Utilitiesbeaker.ext.database– Database Container and NameSpace Manager classesbeaker.ext.memcached– Memcached Container and NameSpace Manager classesbeaker.ext.mongodb– MongoDB NameSpace Manager and Synchronizerbeaker.ext.redisnm– Redis NameSpace Manager and Synchronizerbeaker.ext.redisclusternm– Redis cluster NameSpace Manager and Synchronizerbeaker.ext.google– Google Container and NameSpace Manager classesbeaker.ext.sqla– SqlAlchemy Container and NameSpace Manager classesbeaker.crypto.pbkdf2– PKCS#5 v2.0 Password-Based Key Derivation classes