Commit 230b29fe authored by Tomi Suomela's avatar Tomi Suomela

touch_pattern added, include __fresh__ -prefixed keys to delete_pattern

parent 365a4674
...@@ -403,7 +403,10 @@ class BaseRedisCache(BaseCache): ...@@ -403,7 +403,10 @@ class BaseRedisCache(BaseCache):
def _delete_pattern(self, client, pattern): def _delete_pattern(self, client, pattern):
keys = list(client.scan_iter(match=pattern)) keys = list(client.scan_iter(match=pattern))
if keys: if keys:
client.delete(*keys) all_keys = keys.copy()
for key in keys:
all_keys.append("__fresh__" + key)
client.delete(*all_keys)
def delete_pattern(self, pattern, version=None): def delete_pattern(self, pattern, version=None):
raise NotImplementedError raise NotImplementedError
...@@ -522,3 +525,9 @@ class BaseRedisCache(BaseCache): ...@@ -522,3 +525,9 @@ class BaseRedisCache(BaseCache):
lock.release() lock.release()
return acquired return acquired
@get_client()
def touch_pattern(self, client, pattern, timeout=DEFAULT_TIMEOUT, stale_cache_timeout=None):
keys = list(client.scan_iter(match=pattern))
for key in keys:
self.touch(key, timeout, stale_cache_timeout)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment