Opened 7 years ago
Closed 7 years ago
#29626 closed Cleanup/optimization (fixed)
Implement an optimized version of delete_many() for the db cache backend
Description ¶
Now delete_many() in core.backends.base.BaseCache is as follows.
def delete_many(self, keys, version=None): """ Delete a bunch of values in the cache at once. For certain backends (memcached), this is much more efficient than calling delete() multiple times. """ for key in keys: self.delete(key, version=version)
And cache.backends.db does not implement delete_many()
So if i retrieve 100 entries from the db cache, 100 queries are executed instead of just one
It should be fixed
This ticket is similar to https://code.djangoproject.com/ticket/29584
Change History (5)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Patch needs improvement: | set |
---|---|
Triage Stage: | Unreviewed → Accepted |
This seems reasonable given #29584.
(Possibly merge the two tickets?)
comment:3 by , 7 years ago
https://github.com/django/django/pull/10257
I rebased https://github.com/django/django/pull/10257 's branch onto https://github.com/django/django/pull/10258 's branch.
So i think that just https://github.com/django/django/pull/10257 needs to be merged.
comment:4 by , 7 years ago
Patch needs improvement: | unset |
---|---|
Summary: | cache.backends.db does not implement delete_many() → Implement an optimized version of delete_many() for the db cache backend |
Triage Stage: | Accepted → Ready for checkin |
https://github.com/django/django/pull/10258