summaryrefslogtreecommitdiff
path: root/requests_cache/backends/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'requests_cache/backends/base.py')
-rw-r--r--requests_cache/backends/base.py9
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):