#32076: Adding async methods to BaseCache
-----------------------------------------------+------------------------
               Reporter:  Andrew Chen Wang     |          Owner:  nobody
                   Type:  New feature          |         Status:  new
              Component:  Core (Cache system)  |        Version:  3.1
               Severity:  Normal               |       Keywords:  cache
           Triage Stage:  Unreviewed           |      Has patch:  0
    Needs documentation:  0                    |    Needs tests:  0
Patch needs improvement:  0                    |  Easy pickings:  0
                  UI/UX:  0                    |
-----------------------------------------------+------------------------
 I've recently created a new package for Redis and Django integration at
 [https://github.com/Andrew-Chen-Wang/django-async-redis django-async-
 redis]. I'd like to add the missing methods, e.g. `get_async` or
 `set_async` to the BaseCache so people can get type hints or
 autocompletion suggestions when using `django.core.cache.cache` with
 async.

 Additionally, in order to be compatible with the async methods, there
 would need to be a new async method for closing cache connections/pools at
 
[https://github.com/django/django/blob/999cddd58d30469f3ee85278985313fdf528323d/django/core/cache/__init__.py#L116-L121
 django.core.cache.backends.base]. I believe the only good solution to that
 would be:


 {{{
 async def close_caches_async(**kwargs):
     # Some caches -- python-memcached in particular -- need to do a
 cleanup at the
     # end of a request cycle. If not implemented in a particular backend
     # cache.close is a no-op
     for cache in caches.all():
         await cache.close_async()
 }}}


 Please let me know if that is out of scope though. I also believe
 implementing async methods for the current backends is also out of scope
 of this ticket (and my time :P).

 For reference, the Google Group Discussion:
 [https://groups.google.com/forum/#!topic/django-developers/sGq5Bnc2JMg
 here] and [https://groups.google.com/forum/#!topic/django-
 developers/NX03LNahZPo here]

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32076>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/059.df9b72e38ac58d33dbd2d982183f0445%40djangoproject.com.

Reply via email to