Opened 39 minutes ago
#37156 new Cleanup/optimization
Properly implement async Redis methods
| Reported by: | Johannes Maron | Owned by: | |
|---|---|---|---|
| Component: | Core (Cache system) | Version: | 6.0 |
| Severity: | Normal | Keywords: | redis, asyncio, async |
| Cc: | Johannes Maron | Triage Stage: | Unreviewed |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
The backend API already implements aget, aset, … methods.
However, the native RedisCache backend, doesn't reimplement those methods to use the asyncio API of the Redis SDK, but rather the asgiref fallback.
As discussed before, the extra threading comes with a significant overhead and disrupts things like full-page caching of otherwise async views.
This proposal does not alter Django's public API, but rather optimizes internal implementation, which is why I put this on Trac.
Note:
See TracTickets
for help on using tickets.