Skip to content

Commit 4ae25bf

Browse files
author
Shubham Kaudewar
committed
cache_key check for only one matched against multiple candidates fix
1 parent 5b5f824 commit 4ae25bf

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

redis/cache.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,13 @@ def delete_by_redis_keys(
216216
except UnicodeDecodeError:
217217
pass # Non-UTF-8 bytes, skip str version
218218

219-
for cache_key in self._cache:
219+
matched = False
220+
for cache_key in list(self._cache):
220221
if any(candidate in cache_key.redis_keys for candidate in candidates):
221222
keys_to_delete.append(cache_key)
222-
response.append(True)
223+
matched = True
224+
225+
response.append(matched)
223226

224227
for key in keys_to_delete:
225228
self._cache.pop(key)

tests/test_cache.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,7 @@ def test_delete_by_redis_keys_removes_associated_entries(self, mock_connection):
10341034
)
10351035
)
10361036

1037-
assert cache.delete_by_redis_keys([b"foo", b"foo1"]) == [True, True, True]
1037+
assert cache.delete_by_redis_keys([b"foo", b"foo1"]) == [True, True]
10381038
assert len(cache.collection) == 1
10391039
assert cache.get(cache_key4).cache_value == b"bar3"
10401040

0 commit comments

Comments
 (0)