githubEdit

README

arrow-up-right arrow-up-right arrow-up-right License: MIT arrow-up-rightGitHub: Become a sponsor arrow-up-rightBuy me a coffeeearrow-up-right

InstallationFeaturesUsageRoadmapContributing


The modern Python3.8+ out-of-the-box reactive cache solution


Installation

Installation is as simple as:

View the current documentation herearrow-up-right

Usage

Dory's configuration is quite simple. On your project initialization just call the setup function as follows

Features

Bloats

Bloats responds to the need of having a simpler approach on designing reactive cache on your system. They make cache configuration and management easy.

For example, let's pretend that we have a model called Product which can be either serialized or edited. So, to improve the Product serialization performance we cache the Product serialization view (GET /product/).

Now everything works faster and as expected, but we did not contemplate that since the Product can be edited (PUT /product/), we could have cached an outdated version of the Product, so we need a way to force the cache to refresh itself. This is where Bloats come in handy!

Instead of caching the view with a generic cache decorator, decouple the cache configuration on a Bloat

And now, when a Product is edited, you can force the view to refresh the cache using the Bloat as a middle-man.

Now your cache will always be in sync and it'll be configured in a cleaner way! 🔥

Cache utils

Dory simplifies several cache utilities with an out-of-the-box interface. For example, a decorator to cache views comfortably:

Django signals

The Django signalsarrow-up-right will permit the Bloats to expire themselves when a post_save signal from the Bloat's Django designated model signal is sent.

Roadmap

Contributing

Suggestions and contributions are extremely welcome! ❤️ Just open an issue or a PR, and I'll respond as soon as I can.

Last updated