Key versioning caching for pyramid.
Project description
Key versioning caching for pyramid.
Changelog
Development
- TODO:
- Introspectables
- Content negociation: we should add content type in cache key.
0.1
- First draft of interfaces
- Add a highly not efficient implementation of a key versioner
- Add a model versioner which depends on key versioner and model identity inspector
- Add an example application with dummy sqla model to run tests against
- Add an sqla specific extention with hook on session events to get model modifications.
- Add and remove cache_basic decorator to cache basic function with primitive typed argument. Let’s focus at view level. We’ll do basic decoraor later.
- Add cache_factory to construct a decorator to pass to config.add_view method.
- Add a cache manager which plug all components.
- Add serializers to adapt objects to store on cache. Serializer objects follow a standard loads/dumps interface.
- Add Redis client for caching and versioning
- Implement master-version in redis version-store
- The cache manager emits CacheHit and CacheMiss events. These events can be forwarded to a statistics aggregator by using the pyramid_metrics extension.
- Sets the reponse ETag and custom X-View-Cache HTTP headers based on the versioned key of the resource.