diff options
Diffstat (limited to 'requests_cache/backends/base.py')
-rw-r--r-- | requests_cache/backends/base.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/requests_cache/backends/base.py b/requests_cache/backends/base.py index 6193483..d64abc1 100644 --- a/requests_cache/backends/base.py +++ b/requests_cache/backends/base.py @@ -173,7 +173,14 @@ class BaseCache: delete_keys.append(response.cache_key) logger.debug(f'Deleting up to {len(delete_keys)} responses') - self.responses.bulk_delete(delete_keys) + # For some backends, we don't want to use bulk_delete if there's only one key + if len(delete_keys) == 1: + try: + del self.responses[delete_keys[0]] + except KeyError: + pass + else: + self.responses.bulk_delete(delete_keys) self._prune_redirects() def _prune_redirects(self): |